hotspot/src/share/vm/runtime/sharedRuntime.cpp
changeset 4891 7c8755dd5bb2
parent 4755 eee57ea6d910
child 4898 b5bbb74def0b
equal deleted inserted replaced
4760:70aa3bc938c2 4891:7c8755dd5bb2
   605 
   605 
   606 #ifndef PRODUCT
   606 #ifndef PRODUCT
   607           _implicit_null_throws++;
   607           _implicit_null_throws++;
   608 #endif
   608 #endif
   609           target_pc = nm->continuation_for_implicit_exception(pc);
   609           target_pc = nm->continuation_for_implicit_exception(pc);
   610           guarantee(target_pc != 0, "must have a continuation point");
   610           // If there's an unexpected fault, target_pc might be NULL,
       
   611           // in which case we want to fall through into the normal
       
   612           // error handling code.
   611         }
   613         }
   612 
   614 
   613         break; // fall through
   615         break; // fall through
   614       }
   616       }
   615 
   617 
   619         guarantee(nm != NULL, "must have containing nmethod for implicit division-by-zero exceptions");
   621         guarantee(nm != NULL, "must have containing nmethod for implicit division-by-zero exceptions");
   620 #ifndef PRODUCT
   622 #ifndef PRODUCT
   621         _implicit_div0_throws++;
   623         _implicit_div0_throws++;
   622 #endif
   624 #endif
   623         target_pc = nm->continuation_for_implicit_exception(pc);
   625         target_pc = nm->continuation_for_implicit_exception(pc);
   624         guarantee(target_pc != 0, "must have a continuation point");
   626         // If there's an unexpected fault, target_pc might be NULL,
       
   627         // in which case we want to fall through into the normal
       
   628         // error handling code.
   625         break; // fall through
   629         break; // fall through
   626       }
   630       }
   627 
   631 
   628       default: ShouldNotReachHere();
   632       default: ShouldNotReachHere();
   629     }
   633     }
   630 
   634 
   631     guarantee(target_pc != NULL, "must have computed destination PC for implicit exception");
       
   632     assert(exception_kind == IMPLICIT_NULL || exception_kind == IMPLICIT_DIVIDE_BY_ZERO, "wrong implicit exception kind");
   635     assert(exception_kind == IMPLICIT_NULL || exception_kind == IMPLICIT_DIVIDE_BY_ZERO, "wrong implicit exception kind");
   633 
   636 
   634     // for AbortVMOnException flag
   637     // for AbortVMOnException flag
   635     NOT_PRODUCT(Exceptions::debug_check_abort("java.lang.NullPointerException"));
   638     NOT_PRODUCT(Exceptions::debug_check_abort("java.lang.NullPointerException"));
   636     if (exception_kind == IMPLICIT_NULL) {
   639     if (exception_kind == IMPLICIT_NULL) {