20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
24 |
24 |
25 # include "incls/_precompiled.incl" |
25 #include "precompiled.hpp" |
26 # include "incls/_constantPoolKlass.cpp.incl" |
26 #include "classfile/javaClasses.hpp" |
|
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/symbolOop.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 |
27 |
54 |
28 constantPoolOop constantPoolKlass::allocate(int length, bool is_conc_safe, TRAPS) { |
55 constantPoolOop constantPoolKlass::allocate(int length, bool is_conc_safe, TRAPS) { |
29 int size = constantPoolOopDesc::object_size(length); |
56 int size = constantPoolOopDesc::object_size(length); |
30 KlassHandle klass (THREAD, as_klassOop()); |
57 KlassHandle klass (THREAD, as_klassOop()); |
31 constantPoolOop c = |
58 constantPoolOop c = |