58 #include "oops/instanceRefKlass.hpp"
59 #include "oops/objArrayOop.inline.hpp"
60 #include "oops/oop.inline.hpp"
61 #include "oops/typeArrayKlass.hpp"
62 #include "prims/resolvedMethodTable.hpp"
63 #include "runtime/arguments.hpp"
64 #include "runtime/atomic.hpp"
65 #include "runtime/deoptimization.hpp"
66 #include "runtime/flags/flagSetting.hpp"
67 #include "runtime/flags/jvmFlagConstraintList.hpp"
68 #include "runtime/handles.inline.hpp"
69 #include "runtime/init.hpp"
70 #include "runtime/java.hpp"
71 #include "runtime/javaCalls.hpp"
72 #include "runtime/sharedRuntime.hpp"
73 #include "runtime/synchronizer.hpp"
74 #include "runtime/thread.inline.hpp"
75 #include "runtime/timerTrace.hpp"
76 #include "runtime/vmOperations.hpp"
77 #include "services/memoryService.hpp"
78 #include "utilities/align.hpp"
79 #include "utilities/copy.hpp"
80 #include "utilities/debug.hpp"
81 #include "utilities/events.hpp"
82 #include "utilities/formatBuffer.hpp"
83 #include "utilities/hashtable.inline.hpp"
84 #include "utilities/macros.hpp"
85 #include "utilities/ostream.hpp"
86 #include "utilities/preserveException.hpp"
87
88 // Known objects
89 Klass* Universe::_typeArrayKlassObjs[T_LONG+1] = { NULL /*, NULL...*/ };
90 Klass* Universe::_objectArrayKlassObj = NULL;
91 oop Universe::_int_mirror = NULL;
92 oop Universe::_float_mirror = NULL;
93 oop Universe::_double_mirror = NULL;
94 oop Universe::_byte_mirror = NULL;
95 oop Universe::_bool_mirror = NULL;
96 oop Universe::_char_mirror = NULL;
97 oop Universe::_long_mirror = NULL;
707 MetaspaceShared::initialize_shared_spaces();
708 StringTable::create_table();
709 } else
710 #endif
711 {
712 SymbolTable::create_table();
713 StringTable::create_table();
714 }
715
716 #if INCLUDE_CDS
717 if (DumpSharedSpaces || DynamicDumpSharedSpaces) {
718 MetaspaceShared::prepare_for_dumping();
719 }
720 #endif
721
722 if (strlen(VerifySubSet) > 0) {
723 Universe::initialize_verify_flags();
724 }
725
726 ResolvedMethodTable::create_table();
727
728 return JNI_OK;
729 }
730
731 jint Universe::initialize_heap() {
732 assert(_collectedHeap == NULL, "Heap already created");
733 _collectedHeap = GCConfig::arguments()->create_heap();
734 jint status = _collectedHeap->initialize();
735
736 if (status == JNI_OK) {
737 log_info(gc)("Using %s", _collectedHeap->name());
738 }
739
740 return status;
741 }
742
743 void Universe::initialize_tlab() {
744 ThreadLocalAllocBuffer::set_max_size(Universe::heap()->max_tlab_size());
745 if (UseTLAB) {
746 assert(Universe::heap()->supports_tlab_allocation(),
747 "Should support thread-local allocation buffers");
|
58 #include "oops/instanceRefKlass.hpp"
59 #include "oops/objArrayOop.inline.hpp"
60 #include "oops/oop.inline.hpp"
61 #include "oops/typeArrayKlass.hpp"
62 #include "prims/resolvedMethodTable.hpp"
63 #include "runtime/arguments.hpp"
64 #include "runtime/atomic.hpp"
65 #include "runtime/deoptimization.hpp"
66 #include "runtime/flags/flagSetting.hpp"
67 #include "runtime/flags/jvmFlagConstraintList.hpp"
68 #include "runtime/handles.inline.hpp"
69 #include "runtime/init.hpp"
70 #include "runtime/java.hpp"
71 #include "runtime/javaCalls.hpp"
72 #include "runtime/sharedRuntime.hpp"
73 #include "runtime/synchronizer.hpp"
74 #include "runtime/thread.inline.hpp"
75 #include "runtime/timerTrace.hpp"
76 #include "runtime/vmOperations.hpp"
77 #include "services/memoryService.hpp"
78 #include "services/threadTable.hpp"
79 #include "utilities/align.hpp"
80 #include "utilities/copy.hpp"
81 #include "utilities/debug.hpp"
82 #include "utilities/events.hpp"
83 #include "utilities/formatBuffer.hpp"
84 #include "utilities/hashtable.inline.hpp"
85 #include "utilities/macros.hpp"
86 #include "utilities/ostream.hpp"
87 #include "utilities/preserveException.hpp"
88
89 // Known objects
90 Klass* Universe::_typeArrayKlassObjs[T_LONG+1] = { NULL /*, NULL...*/ };
91 Klass* Universe::_objectArrayKlassObj = NULL;
92 oop Universe::_int_mirror = NULL;
93 oop Universe::_float_mirror = NULL;
94 oop Universe::_double_mirror = NULL;
95 oop Universe::_byte_mirror = NULL;
96 oop Universe::_bool_mirror = NULL;
97 oop Universe::_char_mirror = NULL;
98 oop Universe::_long_mirror = NULL;
708 MetaspaceShared::initialize_shared_spaces();
709 StringTable::create_table();
710 } else
711 #endif
712 {
713 SymbolTable::create_table();
714 StringTable::create_table();
715 }
716
717 #if INCLUDE_CDS
718 if (DumpSharedSpaces || DynamicDumpSharedSpaces) {
719 MetaspaceShared::prepare_for_dumping();
720 }
721 #endif
722
723 if (strlen(VerifySubSet) > 0) {
724 Universe::initialize_verify_flags();
725 }
726
727 ResolvedMethodTable::create_table();
728 ThreadTable::create_table();
729 return JNI_OK;
730 }
731
732 jint Universe::initialize_heap() {
733 assert(_collectedHeap == NULL, "Heap already created");
734 _collectedHeap = GCConfig::arguments()->create_heap();
735 jint status = _collectedHeap->initialize();
736
737 if (status == JNI_OK) {
738 log_info(gc)("Using %s", _collectedHeap->name());
739 }
740
741 return status;
742 }
743
744 void Universe::initialize_tlab() {
745 ThreadLocalAllocBuffer::set_max_size(Universe::heap()->max_tlab_size());
746 if (UseTLAB) {
747 assert(Universe::heap()->supports_tlab_allocation(),
748 "Should support thread-local allocation buffers");
|