src/share/vm/runtime/vframeArray.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File tiered-deopt-failure Cdiff src/share/vm/runtime/vframeArray.cpp

src/share/vm/runtime/vframeArray.cpp

Print this page

        

*** 177,189 **** // // For Compiler1, deoptimization can occur while throwing a NullPointerException at monitorenter, // in which case bcp should point to the monitorenter since it is within the exception's range. assert(*bcp != Bytecodes::_monitorenter || is_top_frame, "a _monitorenter must be a top frame"); ! // TIERED Must know the compiler of the deoptee QQQ ! COMPILER2_PRESENT(guarantee(*bcp != Bytecodes::_monitorenter || exec_mode != Deoptimization::Unpack_exception, ! "shouldn't get exception during monitorenter");) int popframe_preserved_args_size_in_bytes = 0; int popframe_preserved_args_size_in_words = 0; if (is_top_frame) { JvmtiThreadState *state = thread->jvmti_thread_state(); --- 177,191 ---- // // For Compiler1, deoptimization can occur while throwing a NullPointerException at monitorenter, // in which case bcp should point to the monitorenter since it is within the exception's range. assert(*bcp != Bytecodes::_monitorenter || is_top_frame, "a _monitorenter must be a top frame"); ! assert(thread->deopt_nmethod() != NULL, "nmethod should be known"); ! guarantee(!(thread->deopt_nmethod()->is_compiled_by_c2() && ! *bcp == Bytecodes::_monitorenter && ! exec_mode == Deoptimization::Unpack_exception), ! "shouldn't get exception during monitorenter"); int popframe_preserved_args_size_in_bytes = 0; int popframe_preserved_args_size_in_words = 0; if (is_top_frame) { JvmtiThreadState *state = thread->jvmti_thread_state();
src/share/vm/runtime/vframeArray.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File