Mercurial > hg > truffle
comparison src/share/vm/runtime/sharedRuntime.cpp @ 8337:37977d1dcedc
Transmit deoptimization reason in thread local.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 18 Mar 2013 00:20:07 +0100 |
parents | b8f261ba79c6 |
children | e41c32a4d573 |
comparison
equal
deleted
inserted
replaced
8336:38be33a1c28d | 8337:37977d1dcedc |
---|---|
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 thread->_ScratchA = (intptr_t)pc; | 776 thread->_ScratchA = (intptr_t)pc; |
777 thread->_ScratchB = Deoptimization::make_trap_request((Deoptimization::DeoptReason)deopt_reason, Deoptimization::Action_reinterpret); | 777 thread->set_pending_deoptimization(Deoptimization::make_trap_request((Deoptimization::DeoptReason)deopt_reason, Deoptimization::Action_reinterpret)); |
778 return (SharedRuntime::deopt_blob()->implicit_exception_uncommon_trap()); | 778 return (SharedRuntime::deopt_blob()->implicit_exception_uncommon_trap()); |
779 } | 779 } |
780 #endif | 780 #endif |
781 | 781 |
782 address SharedRuntime::continuation_for_implicit_exception(JavaThread* thread, | 782 address SharedRuntime::continuation_for_implicit_exception(JavaThread* thread, |