97 Metaspace::global_initialize(); // must be before codeCache 98 codeCache_init(); 99 VM_Version_init(); 100 os_init_globals(); 101 stubRoutines_init1(); 102 jint status = universe_init(); // dependent on codeCache_init and 103 // stubRoutines_init1 and metaspace_init. 104 if (status != JNI_OK) 105 return status; 106 107 interpreter_init(); // before any methods loaded 108 invocationCounter_init(); // before any methods loaded 109 marksweep_init(); 110 accessFlags_init(); 111 templateTable_init(); 112 InterfaceSupport_init(); 113 SharedRuntime::generate_stubs(); 114 universe2_init(); // dependent on codeCache_init and stubRoutines_init1 115 referenceProcessor_init(); 116 jni_handles_init(); 117 #ifndef VM_STRUCTS_KERNEL 118 vmStructs_init(); 119 #endif // VM_STRUCTS_KERNEL 120 121 vtableStubs_init(); 122 InlineCacheBuffer_init(); 123 compilerOracle_init(); 124 compilationPolicy_init(); 125 compileBroker_init(); 126 VMRegImpl::set_regName(); 127 128 if (!universe_post_init()) { 129 return JNI_ERR; 130 } 131 javaClasses_init(); // must happen after vtable initialization 132 stubRoutines_init2(); // note: StubRoutines need 2-phase init 133 134 // Although we'd like to, we can't easily do a heap verify 135 // here because the main thread isn't yet a JavaThread, so 136 // its TLAB may not be made parseable from the usual interfaces. 137 if (VerifyBeforeGC && !UseTLAB && 138 Universe::heap()->total_collections() >= VerifyGCStartAt) { 139 Universe::heap()->prepare_for_verify(); | 97 Metaspace::global_initialize(); // must be before codeCache 98 codeCache_init(); 99 VM_Version_init(); 100 os_init_globals(); 101 stubRoutines_init1(); 102 jint status = universe_init(); // dependent on codeCache_init and 103 // stubRoutines_init1 and metaspace_init. 104 if (status != JNI_OK) 105 return status; 106 107 interpreter_init(); // before any methods loaded 108 invocationCounter_init(); // before any methods loaded 109 marksweep_init(); 110 accessFlags_init(); 111 templateTable_init(); 112 InterfaceSupport_init(); 113 SharedRuntime::generate_stubs(); 114 universe2_init(); // dependent on codeCache_init and stubRoutines_init1 115 referenceProcessor_init(); 116 jni_handles_init(); 117 #if INCLUDE_VM_STRUCTS 118 vmStructs_init(); 119 #endif // INCLUDE_VM_STRUCTS 120 121 vtableStubs_init(); 122 InlineCacheBuffer_init(); 123 compilerOracle_init(); 124 compilationPolicy_init(); 125 compileBroker_init(); 126 VMRegImpl::set_regName(); 127 128 if (!universe_post_init()) { 129 return JNI_ERR; 130 } 131 javaClasses_init(); // must happen after vtable initialization 132 stubRoutines_init2(); // note: StubRoutines need 2-phase init 133 134 // Although we'd like to, we can't easily do a heap verify 135 // here because the main thread isn't yet a JavaThread, so 136 // its TLAB may not be made parseable from the usual interfaces. 137 if (VerifyBeforeGC && !UseTLAB && 138 Universe::heap()->total_collections() >= VerifyGCStartAt) { 139 Universe::heap()->prepare_for_verify(); |