Mercurial > hg > truffle
comparison src/share/vm/runtime/sharedRuntime.cpp @ 2494:e88293edf07c
Fixed an issue with alignment of double/long values in the code buffer. Can now run Scimark again.
Results for Scimark on i5 (client/graal/server) are (625/634/1120).
Bootstrap of C1X is at 3.7s.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 22 Apr 2011 21:13:09 +0200 |
parents | 0654ee04b214 |
children | 98fa88528319 |
comparison
equal
deleted
inserted
replaced
2493:d8891d81dc8e | 2494:e88293edf07c |
---|---|
696 address pc, | 696 address pc, |
697 SharedRuntime::ImplicitExceptionKind exception_kind) | 697 SharedRuntime::ImplicitExceptionKind exception_kind) |
698 { | 698 { |
699 address target_pc = NULL; | 699 address target_pc = NULL; |
700 | 700 |
701 if (TraceSignals) { | |
702 tty->print_cr("Searching for continuation for implicit exception at %d", pc); | |
703 } | |
704 | |
701 if (Interpreter::contains(pc)) { | 705 if (Interpreter::contains(pc)) { |
702 #ifdef CC_INTERP | 706 #ifdef CC_INTERP |
703 // C++ interpreter doesn't throw implicit exceptions | 707 // C++ interpreter doesn't throw implicit exceptions |
704 ShouldNotReachHere(); | 708 ShouldNotReachHere(); |
705 #else | 709 #else |
794 guarantee(nm != NULL, "must have containing nmethod for implicit division-by-zero exceptions"); | 798 guarantee(nm != NULL, "must have containing nmethod for implicit division-by-zero exceptions"); |
795 #ifndef PRODUCT | 799 #ifndef PRODUCT |
796 _implicit_div0_throws++; | 800 _implicit_div0_throws++; |
797 #endif | 801 #endif |
798 if (UseC1X) { | 802 if (UseC1X) { |
799 tty->print_cr("c1x implicit div0"); | 803 if (TraceSignals) { |
804 tty->print_cr("c1x implicit div0"); | |
805 } | |
800 target_pc = Runtime1::entry_for(Runtime1::c1x_throw_div0_exception_id); | 806 target_pc = Runtime1::entry_for(Runtime1::c1x_throw_div0_exception_id); |
801 } else { | 807 } else { |
802 target_pc = nm->continuation_for_implicit_exception(pc); | 808 target_pc = nm->continuation_for_implicit_exception(pc); |
803 } | 809 } |
804 // If there's an unexpected fault, target_pc might be NULL, | 810 // If there's an unexpected fault, target_pc might be NULL, |