< prev index next >

src/hotspot/share/compiler/compileBroker.cpp

Print this page

        

*** 1157,1167 **** } // Don't allow blocking compilation requests if we are in JVMCIRuntime::shutdown // to avoid deadlock between compiler thread(s) and threads run at shutdown // such as the DestroyJavaVM thread. ! if (JVMCI::shutdown_called()) { blocking = false; } } #endif // INCLUDE_JVMCI --- 1157,1167 ---- } // Don't allow blocking compilation requests if we are in JVMCIRuntime::shutdown // to avoid deadlock between compiler thread(s) and threads run at shutdown // such as the DestroyJavaVM thread. ! if (JVMCI::in_shutdown()) { blocking = false; } } #endif // INCLUDE_JVMCI
*** 2127,2147 **** if (UseJVMCICompiler && comp != NULL && comp->is_jvmci()) { JVMCICompiler* jvmci = (JVMCICompiler*) comp; TraceTime t1("compilation", &time); EventCompilation event; // Skip redefined methods - if (target_handle->is_old()) { failure_reason = "redefined method"; retry_message = "not retryable"; compilable = ciEnv::MethodCompilable_never; } else { JVMCICompileState compile_state(task, system_dictionary_modification_counter); JVMCIEnv env(thread, &compile_state, __FILE__, __LINE__); methodHandle method(thread, target_handle); ! env.runtime()->compile_method(&env, jvmci, method, osr_bci); failure_reason = compile_state.failure_reason(); failure_reason_on_C_heap = compile_state.failure_reason_on_C_heap(); if (!compile_state.retryable()) { retry_message = "not retryable"; --- 2127,2153 ---- if (UseJVMCICompiler && comp != NULL && comp->is_jvmci()) { JVMCICompiler* jvmci = (JVMCICompiler*) comp; TraceTime t1("compilation", &time); EventCompilation event; + JVMCIRuntime *runtime = NULL; + if (JVMCI::in_shutdown()) { + failure_reason = "in JVMCI shutdown"; + retry_message = "not retryable"; + compilable = ciEnv::MethodCompilable_never; + } else if (target_handle->is_old()) { // Skip redefined methods failure_reason = "redefined method"; retry_message = "not retryable"; compilable = ciEnv::MethodCompilable_never; } else { JVMCICompileState compile_state(task, system_dictionary_modification_counter); JVMCIEnv env(thread, &compile_state, __FILE__, __LINE__); methodHandle method(thread, target_handle); ! runtime = env.runtime(); ! runtime->compile_method(&env, jvmci, method, osr_bci); failure_reason = compile_state.failure_reason(); failure_reason_on_C_heap = compile_state.failure_reason_on_C_heap(); if (!compile_state.retryable()) { retry_message = "not retryable";
< prev index next >