205 static InstanceKlass* get_instance_klass_for_declared_method_holder(Klass* klass);
206
207 // Helper routine for determining the validity of a compilation
208 // with respect to concurrent class loading.
209 static JVMCI::CodeInstallResult validate_compile_task_dependencies(Dependencies* target, JVMCICompileState* task, char** failure_detail);
210
211 // Compiles `target` with the JVMCI compiler.
212 void compile_method(JVMCIEnv* JVMCIENV, JVMCICompiler* compiler, const methodHandle& target, int entry_bci);
213
214 // Register the result of a compilation.
215 JVMCI::CodeInstallResult register_method(JVMCIEnv* JVMCIENV,
216 const methodHandle& target,
217 nmethod*& nm,
218 int entry_bci,
219 CodeOffsets* offsets,
220 int orig_pc_offset,
221 CodeBuffer* code_buffer,
222 int frame_words,
223 OopMapSet* oop_map_set,
224 ExceptionHandlerTable* handler_table,
225 AbstractCompiler* compiler,
226 DebugInformationRecorder* debug_info,
227 Dependencies* dependencies,
228 int compile_id,
229 bool has_unsafe_access,
230 bool has_wide_vector,
231 JVMCIObject compiled_code,
232 JVMCIObject nmethod_mirror,
233 FailedSpeculation** failed_speculations,
234 char* speculations,
235 int speculations_len);
236
237 /**
238 * Exits the VM due to an unexpected exception.
239 */
240 static void exit_on_pending_exception(JVMCIEnv* JVMCIENV, const char* message);
241
242 static void describe_pending_hotspot_exception(JavaThread* THREAD, bool clear);
243
244 #define CHECK_EXIT THREAD); \
|
205 static InstanceKlass* get_instance_klass_for_declared_method_holder(Klass* klass);
206
207 // Helper routine for determining the validity of a compilation
208 // with respect to concurrent class loading.
209 static JVMCI::CodeInstallResult validate_compile_task_dependencies(Dependencies* target, JVMCICompileState* task, char** failure_detail);
210
211 // Compiles `target` with the JVMCI compiler.
212 void compile_method(JVMCIEnv* JVMCIENV, JVMCICompiler* compiler, const methodHandle& target, int entry_bci);
213
214 // Register the result of a compilation.
215 JVMCI::CodeInstallResult register_method(JVMCIEnv* JVMCIENV,
216 const methodHandle& target,
217 nmethod*& nm,
218 int entry_bci,
219 CodeOffsets* offsets,
220 int orig_pc_offset,
221 CodeBuffer* code_buffer,
222 int frame_words,
223 OopMapSet* oop_map_set,
224 ExceptionHandlerTable* handler_table,
225 ImplicitExceptionTable* implicit_exception_table,
226 AbstractCompiler* compiler,
227 DebugInformationRecorder* debug_info,
228 Dependencies* dependencies,
229 int compile_id,
230 bool has_unsafe_access,
231 bool has_wide_vector,
232 JVMCIObject compiled_code,
233 JVMCIObject nmethod_mirror,
234 FailedSpeculation** failed_speculations,
235 char* speculations,
236 int speculations_len);
237
238 /**
239 * Exits the VM due to an unexpected exception.
240 */
241 static void exit_on_pending_exception(JVMCIEnv* JVMCIENV, const char* message);
242
243 static void describe_pending_hotspot_exception(JavaThread* THREAD, bool clear);
244
245 #define CHECK_EXIT THREAD); \
|