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