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