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) { |