src/share/vm/runtime/sharedRuntime.cpp

changeset 1692
7b4415a18c8a
parent 1651
7f8790caccb0
parent 1685
3f5b7efb9642
child 1698
e7b1cc79bd25
equal deleted inserted replaced
1684:95d21201c29a 1692:7b4415a18c8a
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) {

mercurial