103 }
104
105 static Handle callStatic(const char* className, const char* methodName, const char* returnType, JavaCallArguments* args, TRAPS);
106
107 /**
108 * Trigger initialization of HotSpotJVMCIRuntime through JVMCI.getRuntime()
109 */
110 static void initialize_JVMCI(TRAPS);
111
112 /**
113 * Explicitly initialize HotSpotJVMCIRuntime itself
114 */
115 static void initialize_HotSpotJVMCIRuntime(TRAPS);
116
117 static void initialize_well_known_classes(TRAPS);
118
119 static void metadata_do(void f(Metadata*));
120
121 static void shutdown(TRAPS);
122
123 static bool shutdown_called() {
124 return _shutdown_called;
125 }
126
127 static bool treat_as_trivial(Method* method);
128
129 static BasicType kindToBasicType(Handle kind, TRAPS);
130
131 // The following routines are all called from compiled JVMCI code
132
133 static void new_instance(JavaThread* thread, Klass* klass);
134 static void new_array(JavaThread* thread, Klass* klass, jint length);
135 static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
136 static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length);
137 static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror);
138 static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupted);
139 static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3);
140 static jint identity_hash_code(JavaThread* thread, oopDesc* obj);
141 static address exception_handler_for_pc(JavaThread* thread);
142 static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
|
103 }
104
105 static Handle callStatic(const char* className, const char* methodName, const char* returnType, JavaCallArguments* args, TRAPS);
106
107 /**
108 * Trigger initialization of HotSpotJVMCIRuntime through JVMCI.getRuntime()
109 */
110 static void initialize_JVMCI(TRAPS);
111
112 /**
113 * Explicitly initialize HotSpotJVMCIRuntime itself
114 */
115 static void initialize_HotSpotJVMCIRuntime(TRAPS);
116
117 static void initialize_well_known_classes(TRAPS);
118
119 static void metadata_do(void f(Metadata*));
120
121 static void shutdown(TRAPS);
122
123 static void bootstrapFinished();
124
125 static bool shutdown_called() {
126 return _shutdown_called;
127 }
128
129 static bool treat_as_trivial(Method* method);
130
131 static BasicType kindToBasicType(Handle kind, TRAPS);
132
133 // The following routines are all called from compiled JVMCI code
134
135 static void new_instance(JavaThread* thread, Klass* klass);
136 static void new_array(JavaThread* thread, Klass* klass, jint length);
137 static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
138 static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length);
139 static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror);
140 static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupted);
141 static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3);
142 static jint identity_hash_code(JavaThread* thread, oopDesc* obj);
143 static address exception_handler_for_pc(JavaThread* thread);
144 static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
|