src/hotspot/share/runtime/deoptimization.cpp
changeset 47692 0d2d80c0d425
parent 47687 fb290fd1f9d4
child 47765 b7c7428eaab9
equal deleted inserted replaced
47691:4a095d9ea838 47692:0d2d80c0d425
  1378   // since we return a continuation to the deopt_blob below.
  1378   // since we return a continuation to the deopt_blob below.
  1379   JavaThread* thread = JavaThread::current();
  1379   JavaThread* thread = JavaThread::current();
  1380   RegisterMap reg_map(thread, UseBiasedLocking);
  1380   RegisterMap reg_map(thread, UseBiasedLocking);
  1381   frame runtime_frame = thread->last_frame();
  1381   frame runtime_frame = thread->last_frame();
  1382   frame caller_frame = runtime_frame.sender(&reg_map);
  1382   frame caller_frame = runtime_frame.sender(&reg_map);
  1383   assert(caller_frame.cb()->as_nmethod_or_null() == cm, "expect top frame nmethod");
  1383   assert(caller_frame.cb()->as_compiled_method_or_null() == cm, "expect top frame compiled method");
  1384   Deoptimization::deoptimize(thread, caller_frame, &reg_map, Deoptimization::Reason_not_compiled_exception_handler);
  1384   Deoptimization::deoptimize(thread, caller_frame, &reg_map, Deoptimization::Reason_not_compiled_exception_handler);
  1385 
  1385 
  1386   MethodData* trap_mdo = get_method_data(thread, cm->method(), true);
  1386   MethodData* trap_mdo = get_method_data(thread, cm->method(), true);
  1387   if (trap_mdo != NULL) {
  1387   if (trap_mdo != NULL) {
  1388     trap_mdo->inc_trap_count(Deoptimization::Reason_not_compiled_exception_handler);
  1388     trap_mdo->inc_trap_count(Deoptimization::Reason_not_compiled_exception_handler);