40 #include "utilities/macros.hpp"
41
42
43 // Initialization done by VM thread in vm_init_globals()
44 void check_ThreadShadow();
45 void eventlog_init();
46 void mutex_init();
47 void chunkpool_init();
48 void perfMemory_init();
49 void SuspendibleThreadSet_init();
50
51 // Initialization done by Java thread in init_globals()
52 void management_init();
53 void bytecodes_init();
54 void classLoader_init1();
55 void compilationPolicy_init();
56 void codeCache_init();
57 void VM_Version_init();
58 void os_init_globals(); // depends on VM_Version_init, before universe_init
59 void stubRoutines_init1();
60 jint universe_init(); // depends on codeCache_init and stubRoutines_init
61 // depends on universe_init, must be before interpreter_init (currently only on SPARC)
62 void gc_barrier_stubs_init();
63 void interpreter_init(); // before any methods loaded
64 void invocationCounter_init(); // before any methods loaded
65 void accessFlags_init();
66 void templateTable_init();
67 void InterfaceSupport_init();
68 void universe2_init(); // dependent on codeCache_init and stubRoutines_init, loads primordial classes
69 void referenceProcessor_init();
70 void jni_handles_init();
71 void vmStructs_init();
72
73 void vtableStubs_init();
74 void InlineCacheBuffer_init();
75 void compilerOracle_init();
76 bool compileBroker_init();
77 void dependencyContext_init();
78
79 // Initialization after compiler initialization
97 SuspendibleThreadSet_init();
98 }
99
100
101 jint init_globals() {
102 HandleMark hm;
103 management_init();
104 bytecodes_init();
105 classLoader_init1();
106 compilationPolicy_init();
107 codeCache_init();
108 VM_Version_init();
109 os_init_globals();
110 stubRoutines_init1();
111 jint status = universe_init(); // dependent on codeCache_init and
112 // stubRoutines_init1 and metaspace_init.
113 if (status != JNI_OK)
114 return status;
115
116 gc_barrier_stubs_init(); // depends on universe_init, must be before interpreter_init
117 interpreter_init(); // before any methods loaded
118 invocationCounter_init(); // before any methods loaded
119 accessFlags_init();
120 templateTable_init();
121 InterfaceSupport_init();
122 SharedRuntime::generate_stubs();
123 universe2_init(); // dependent on codeCache_init and stubRoutines_init1
124 javaClasses_init();// must happen after vtable initialization, before referenceProcessor_init
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 dependencyContext_init();
135
136 if (!compileBroker_init()) {
|
40 #include "utilities/macros.hpp"
41
42
43 // Initialization done by VM thread in vm_init_globals()
44 void check_ThreadShadow();
45 void eventlog_init();
46 void mutex_init();
47 void chunkpool_init();
48 void perfMemory_init();
49 void SuspendibleThreadSet_init();
50
51 // Initialization done by Java thread in init_globals()
52 void management_init();
53 void bytecodes_init();
54 void classLoader_init1();
55 void compilationPolicy_init();
56 void codeCache_init();
57 void VM_Version_init();
58 void os_init_globals(); // depends on VM_Version_init, before universe_init
59 void stubRoutines_init1();
60 void stubRoutines_initContinuationStubs();
61 jint universe_init(); // depends on codeCache_init and stubRoutines_init
62 // depends on universe_init, must be before interpreter_init (currently only on SPARC)
63 void gc_barrier_stubs_init();
64 void interpreter_init(); // before any methods loaded
65 void invocationCounter_init(); // before any methods loaded
66 void accessFlags_init();
67 void templateTable_init();
68 void InterfaceSupport_init();
69 void universe2_init(); // dependent on codeCache_init and stubRoutines_init, loads primordial classes
70 void referenceProcessor_init();
71 void jni_handles_init();
72 void vmStructs_init();
73
74 void vtableStubs_init();
75 void InlineCacheBuffer_init();
76 void compilerOracle_init();
77 bool compileBroker_init();
78 void dependencyContext_init();
79
80 // Initialization after compiler initialization
98 SuspendibleThreadSet_init();
99 }
100
101
102 jint init_globals() {
103 HandleMark hm;
104 management_init();
105 bytecodes_init();
106 classLoader_init1();
107 compilationPolicy_init();
108 codeCache_init();
109 VM_Version_init();
110 os_init_globals();
111 stubRoutines_init1();
112 jint status = universe_init(); // dependent on codeCache_init and
113 // stubRoutines_init1 and metaspace_init.
114 if (status != JNI_OK)
115 return status;
116
117 gc_barrier_stubs_init(); // depends on universe_init, must be before interpreter_init
118 stubRoutines_initContinuationStubs();
119 interpreter_init(); // before any methods loaded
120 invocationCounter_init(); // before any methods loaded
121 accessFlags_init();
122 templateTable_init();
123 InterfaceSupport_init();
124 SharedRuntime::generate_stubs();
125 universe2_init(); // dependent on codeCache_init and stubRoutines_init1
126 javaClasses_init();// must happen after vtable initialization, before referenceProcessor_init
127 referenceProcessor_init();
128 jni_handles_init();
129 #if INCLUDE_VM_STRUCTS
130 vmStructs_init();
131 #endif // INCLUDE_VM_STRUCTS
132
133 vtableStubs_init();
134 InlineCacheBuffer_init();
135 compilerOracle_init();
136 dependencyContext_init();
137
138 if (!compileBroker_init()) {
|