hotspot/src/share/vm/c1/c1_Runtime1.cpp
changeset 36350 29d8bb1668f5
parent 36345 72e6d0ac646b
child 36603 0bc3ad031d60
child 36508 5f9eee6b383b
equal deleted inserted replaced
36349:6cc8e6f596b2 36350:29d8bb1668f5
  1500   nmethod* nm = CodeCache::find_nmethod(caller_frame.pc());
  1500   nmethod* nm = CodeCache::find_nmethod(caller_frame.pc());
  1501   assert (nm != NULL, "no more nmethod?");
  1501   assert (nm != NULL, "no more nmethod?");
  1502   nm->make_not_entrant();
  1502   nm->make_not_entrant();
  1503 
  1503 
  1504   methodHandle m(nm->method());
  1504   methodHandle m(nm->method());
  1505   if (ProfileInterpreter) {
  1505   MethodData* mdo = m->method_data();
  1506     MethodData* mdo = m->method_data();
  1506 
  1507 
  1507   if (mdo == NULL && !HAS_PENDING_EXCEPTION) {
  1508     if (mdo == NULL && !HAS_PENDING_EXCEPTION) {
  1508     // Build an MDO.  Ignore errors like OutOfMemory;
  1509       // Build an MDO.  Ignore errors like OutOfMemory;
  1509     // that simply means we won't have an MDO to update.
  1510       // that simply means we won't have an MDO to update.
  1510     Method::build_interpreter_method_data(m, THREAD);
  1511       Method::build_interpreter_method_data(m, THREAD);
  1511     if (HAS_PENDING_EXCEPTION) {
  1512       if (HAS_PENDING_EXCEPTION) {
  1512       assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())), "we expect only an OOM error here");
  1513         assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())), "we expect only an OOM error here");
  1513       CLEAR_PENDING_EXCEPTION;
  1514         CLEAR_PENDING_EXCEPTION;
  1514     }
  1515       }
  1515     mdo = m->method_data();
  1516       mdo = m->method_data();
  1516   }
  1517     }
  1517 
  1518 
  1518   if (mdo != NULL) {
  1519     if (mdo != NULL) {
  1519     mdo->inc_trap_count(Deoptimization::Reason_none);
  1520       mdo->inc_trap_count(Deoptimization::Reason_none);
       
  1521     }
       
  1522   }
  1520   }
  1523 
  1521 
  1524   if (TracePredicateFailedTraps) {
  1522   if (TracePredicateFailedTraps) {
  1525     stringStream ss1, ss2;
  1523     stringStream ss1, ss2;
  1526     vframeStream vfst(thread);
  1524     vframeStream vfst(thread);