Mercurial > hg > truffle
comparison src/share/vm/runtime/sharedRuntime.cpp @ 1257:7b4415a18c8a
Merge
author | kvn |
---|---|
date | Fri, 12 Feb 2010 15:27:36 -0800 |
parents | 7f8790caccb0 3f5b7efb9642 |
children | e7b1cc79bd25 |
comparison
equal
deleted
inserted
replaced
1249:95d21201c29a | 1257: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) { |