comparison src/share/vm/runtime/sharedRuntime.cpp @ 1250:3f5b7efb9642

6920293: OptimizeStringConcat causing core dumps Reviewed-by: kvn, twisti
author never
date Fri, 05 Feb 2010 11:07:40 -0800
parents 74c848d437ab
children 7b4415a18c8a
comparison
equal deleted inserted replaced
1212:c028504fdaa6 1250:3f5b7efb9642
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) {