27 #include "gc_implementation/shared/markSweep.inline.hpp"
28 #include "gc_interface/collectedHeap.inline.hpp"
29 #include "memory/oopFactory.hpp"
30 #include "memory/permGen.hpp"
31 #include "memory/universe.inline.hpp"
32 #include "oops/constantPoolKlass.hpp"
33 #include "oops/constantPoolOop.hpp"
34 #include "oops/oop.inline.hpp"
35 #include "oops/oop.inline2.hpp"
36 #include "oops/symbol.hpp"
37 #include "runtime/handles.inline.hpp"
38 #ifdef TARGET_OS_FAMILY_linux
39 # include "thread_linux.inline.hpp"
40 #endif
41 #ifdef TARGET_OS_FAMILY_solaris
42 # include "thread_solaris.inline.hpp"
43 #endif
44 #ifdef TARGET_OS_FAMILY_windows
45 # include "thread_windows.inline.hpp"
46 #endif
47 #ifndef SERIALGC
48 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
49 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
50 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
51 #include "memory/cardTableRS.hpp"
52 #include "oops/oop.pcgc.inline.hpp"
53 #endif
54
55 constantPoolOop constantPoolKlass::allocate(int length, bool is_conc_safe, TRAPS) {
56 int size = constantPoolOopDesc::object_size(length);
57 KlassHandle klass (THREAD, as_klassOop());
58 assert(klass()->is_oop(), "Can't be null, else handlizing of c below won't work");
59 constantPoolHandle pool;
60 {
61 constantPoolOop c =
62 (constantPoolOop)CollectedHeap::permanent_obj_allocate(klass, size, CHECK_NULL);
63 assert(c->klass_or_null() != NULL, "Handlizing below won't work");
64 pool = constantPoolHandle(THREAD, c);
65 }
66
|
27 #include "gc_implementation/shared/markSweep.inline.hpp"
28 #include "gc_interface/collectedHeap.inline.hpp"
29 #include "memory/oopFactory.hpp"
30 #include "memory/permGen.hpp"
31 #include "memory/universe.inline.hpp"
32 #include "oops/constantPoolKlass.hpp"
33 #include "oops/constantPoolOop.hpp"
34 #include "oops/oop.inline.hpp"
35 #include "oops/oop.inline2.hpp"
36 #include "oops/symbol.hpp"
37 #include "runtime/handles.inline.hpp"
38 #ifdef TARGET_OS_FAMILY_linux
39 # include "thread_linux.inline.hpp"
40 #endif
41 #ifdef TARGET_OS_FAMILY_solaris
42 # include "thread_solaris.inline.hpp"
43 #endif
44 #ifdef TARGET_OS_FAMILY_windows
45 # include "thread_windows.inline.hpp"
46 #endif
47 #ifdef TARGET_OS_FAMILY_bsd
48 # include "thread_bsd.inline.hpp"
49 #endif
50 #ifndef SERIALGC
51 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
52 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
53 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
54 #include "memory/cardTableRS.hpp"
55 #include "oops/oop.pcgc.inline.hpp"
56 #endif
57
58 constantPoolOop constantPoolKlass::allocate(int length, bool is_conc_safe, TRAPS) {
59 int size = constantPoolOopDesc::object_size(length);
60 KlassHandle klass (THREAD, as_klassOop());
61 assert(klass()->is_oop(), "Can't be null, else handlizing of c below won't work");
62 constantPoolHandle pool;
63 {
64 constantPoolOop c =
65 (constantPoolOop)CollectedHeap::permanent_obj_allocate(klass, size, CHECK_NULL);
66 assert(c->klass_or_null() != NULL, "Handlizing below won't work");
67 pool = constantPoolHandle(THREAD, c);
68 }
69
|