Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/sharedRuntime.cpp @ 8151:b8f261ba79c6
Minimize diff to plain HotSpot version.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 07 Mar 2013 21:00:29 +0100 |
parents | 5fc51c1ecdeb |
children | 37977d1dcedc |
comparison
equal
deleted
inserted
replaced
8150:b66f831ac5ab | 8151:b8f261ba79c6 |
---|---|
771 JRT_END | 771 JRT_END |
772 | 772 |
773 #ifdef GRAAL | 773 #ifdef GRAAL |
774 address SharedRuntime::deoptimize_for_implicit_exception(JavaThread* thread, address pc, nmethod* nm, int deopt_reason) { | 774 address SharedRuntime::deoptimize_for_implicit_exception(JavaThread* thread, address pc, nmethod* nm, int deopt_reason) { |
775 assert(deopt_reason > Deoptimization::Reason_none && deopt_reason < Deoptimization::Reason_LIMIT, "invalid deopt reason"); | 775 assert(deopt_reason > Deoptimization::Reason_none && deopt_reason < Deoptimization::Reason_LIMIT, "invalid deopt reason"); |
776 if (TraceSignals) { | |
777 tty->print_cr(err_msg("Deoptimizing on implicit exception at relative pc=%d in method %s", pc - nm->entry_point(), nm->method()->name()->as_C_string())); | |
778 } | |
779 thread->_ScratchA = (intptr_t)pc; | 776 thread->_ScratchA = (intptr_t)pc; |
780 thread->_ScratchB = Deoptimization::make_trap_request((Deoptimization::DeoptReason)deopt_reason, Deoptimization::Action_reinterpret); | 777 thread->_ScratchB = Deoptimization::make_trap_request((Deoptimization::DeoptReason)deopt_reason, Deoptimization::Action_reinterpret); |
781 return (SharedRuntime::deopt_blob()->implicit_exception_uncommon_trap()); | 778 return (SharedRuntime::deopt_blob()->implicit_exception_uncommon_trap()); |
782 } | 779 } |
783 #endif | 780 #endif |
897 #ifndef PRODUCT | 894 #ifndef PRODUCT |
898 _implicit_div0_throws++; | 895 _implicit_div0_throws++; |
899 #endif | 896 #endif |
900 #ifdef GRAAL | 897 #ifdef GRAAL |
901 if (nm->is_compiled_by_graal()) { | 898 if (nm->is_compiled_by_graal()) { |
902 if (TraceSignals) { | |
903 tty->print_cr("Graal implicit div0"); | |
904 } | |
905 target_pc = deoptimize_for_implicit_exception(thread, pc, nm, Deoptimization::Reason_div0_check); | 899 target_pc = deoptimize_for_implicit_exception(thread, pc, nm, Deoptimization::Reason_div0_check); |
906 } else { | 900 } else { |
907 #endif | 901 #endif |
908 target_pc = nm->continuation_for_implicit_exception(pc); | 902 target_pc = nm->continuation_for_implicit_exception(pc); |
909 #ifdef GRAAL | 903 #ifdef GRAAL |