54 void compilationPolicy_init();
55 void codeCache_init();
56 void VM_Version_init();
57 void os_init_globals(); // depends on VM_Version_init, before universe_init
58 void stubRoutines_init1();
59 jint universe_init(); // depends on codeCache_init and stubRoutines_init
60 void interpreter_init(); // before any methods loaded
61 void invocationCounter_init(); // before any methods loaded
62 void marksweep_init();
63 void accessFlags_init();
64 void templateTable_init();
65 void InterfaceSupport_init();
66 void universe2_init(); // dependent on codeCache_init and stubRoutines_init, loads primordial classes
67 void referenceProcessor_init();
68 void jni_handles_init();
69 void vmStructs_init();
70
71 void vtableStubs_init();
72 void InlineCacheBuffer_init();
73 void compilerOracle_init();
74 void compileBroker_init();
75
76 // Initialization after compiler initialization
77 bool universe_post_init(); // must happen after compiler_init
78 void javaClasses_init(); // must happen after vtable initialization
79 void stubRoutines_init2(); // note: StubRoutines need 2-phase init
80
81 // Do not disable thread-local-storage, as it is important for some
82 // JNI/JVM/JVMTI functions and signal handlers to work properly
83 // during VM shutdown
84 void perfMemory_exit();
85 void ostream_exit();
86
87 void vm_init_globals() {
88 check_ThreadShadow();
89 basic_types_init();
90 eventlog_init();
91 mutex_init();
92 chunkpool_init();
93 perfMemory_init();
94 }
114
115 CodeCacheExtensions::complete_step(CodeCacheExtensionsSteps::Universe);
116 interpreter_init(); // before any methods loaded
117 CodeCacheExtensions::complete_step(CodeCacheExtensionsSteps::Interpreter);
118 invocationCounter_init(); // before any methods loaded
119 marksweep_init();
120 accessFlags_init();
121 templateTable_init();
122 InterfaceSupport_init();
123 SharedRuntime::generate_stubs();
124 universe2_init(); // dependent on codeCache_init and stubRoutines_init1
125 referenceProcessor_init();
126 jni_handles_init();
127 #if INCLUDE_VM_STRUCTS
128 vmStructs_init();
129 #endif // INCLUDE_VM_STRUCTS
130
131 vtableStubs_init();
132 InlineCacheBuffer_init();
133 compilerOracle_init();
134 compileBroker_init();
135 VMRegImpl::set_regName();
136
137 if (!universe_post_init()) {
138 return JNI_ERR;
139 }
140 javaClasses_init(); // must happen after vtable initialization
141 stubRoutines_init2(); // note: StubRoutines need 2-phase init
142 CodeCacheExtensions::complete_step(CodeCacheExtensionsSteps::StubRoutines2);
143
144 #if INCLUDE_NMT
145 // Solaris stack is walkable only after stubRoutines are set up.
146 // On Other platforms, the stack is always walkable.
147 NMT_stack_walkable = true;
148 #endif // INCLUDE_NMT
149
150 // All the flags that get adjusted by VM_Version_init and os::init_2
151 // have been set so dump the flags now.
152 if (PrintFlagsFinal || PrintFlagsRanges) {
153 CommandLineFlags::printFlags(tty, false, PrintFlagsRanges);
154 }
|
54 void compilationPolicy_init();
55 void codeCache_init();
56 void VM_Version_init();
57 void os_init_globals(); // depends on VM_Version_init, before universe_init
58 void stubRoutines_init1();
59 jint universe_init(); // depends on codeCache_init and stubRoutines_init
60 void interpreter_init(); // before any methods loaded
61 void invocationCounter_init(); // before any methods loaded
62 void marksweep_init();
63 void accessFlags_init();
64 void templateTable_init();
65 void InterfaceSupport_init();
66 void universe2_init(); // dependent on codeCache_init and stubRoutines_init, loads primordial classes
67 void referenceProcessor_init();
68 void jni_handles_init();
69 void vmStructs_init();
70
71 void vtableStubs_init();
72 void InlineCacheBuffer_init();
73 void compilerOracle_init();
74 bool compileBroker_init();
75
76 // Initialization after compiler initialization
77 bool universe_post_init(); // must happen after compiler_init
78 void javaClasses_init(); // must happen after vtable initialization
79 void stubRoutines_init2(); // note: StubRoutines need 2-phase init
80
81 // Do not disable thread-local-storage, as it is important for some
82 // JNI/JVM/JVMTI functions and signal handlers to work properly
83 // during VM shutdown
84 void perfMemory_exit();
85 void ostream_exit();
86
87 void vm_init_globals() {
88 check_ThreadShadow();
89 basic_types_init();
90 eventlog_init();
91 mutex_init();
92 chunkpool_init();
93 perfMemory_init();
94 }
114
115 CodeCacheExtensions::complete_step(CodeCacheExtensionsSteps::Universe);
116 interpreter_init(); // before any methods loaded
117 CodeCacheExtensions::complete_step(CodeCacheExtensionsSteps::Interpreter);
118 invocationCounter_init(); // before any methods loaded
119 marksweep_init();
120 accessFlags_init();
121 templateTable_init();
122 InterfaceSupport_init();
123 SharedRuntime::generate_stubs();
124 universe2_init(); // dependent on codeCache_init and stubRoutines_init1
125 referenceProcessor_init();
126 jni_handles_init();
127 #if INCLUDE_VM_STRUCTS
128 vmStructs_init();
129 #endif // INCLUDE_VM_STRUCTS
130
131 vtableStubs_init();
132 InlineCacheBuffer_init();
133 compilerOracle_init();
134 if (!compileBroker_init()) {
135 return JNI_EINVAL;
136 }
137 VMRegImpl::set_regName();
138
139 if (!universe_post_init()) {
140 return JNI_ERR;
141 }
142 javaClasses_init(); // must happen after vtable initialization
143 stubRoutines_init2(); // note: StubRoutines need 2-phase init
144 CodeCacheExtensions::complete_step(CodeCacheExtensionsSteps::StubRoutines2);
145
146 #if INCLUDE_NMT
147 // Solaris stack is walkable only after stubRoutines are set up.
148 // On Other platforms, the stack is always walkable.
149 NMT_stack_walkable = true;
150 #endif // INCLUDE_NMT
151
152 // All the flags that get adjusted by VM_Version_init and os::init_2
153 // have been set so dump the flags now.
154 if (PrintFlagsFinal || PrintFlagsRanges) {
155 CommandLineFlags::printFlags(tty, false, PrintFlagsRanges);
156 }
|