Mercurial > hg > truffle
diff src/share/vm/runtime/thread.hpp @ 1814:fd5d4527cdf5
6986270: guarantee(*bcp != Bytecodes::_monitorenter || exec_mode != Deoptimization::Unpack_exception) fails
Summary: Propagate the compiler type of the deopting method to vframeArrayElement::unpack_on_stack()
Reviewed-by: jrose, never
author | iveresov |
---|---|
date | Tue, 21 Sep 2010 13:38:35 -0700 |
parents | f4f596978298 |
children | 0715f0cf171d |
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.hpp Wed Sep 15 20:25:37 2010 -0700 +++ b/src/share/vm/runtime/thread.hpp Tue Sep 21 13:38:35 2010 -0700 @@ -680,7 +680,7 @@ intptr_t* _must_deopt_id; // id of frame that needs to be deopted once we // transition out of native - + nmethod* _deopt_nmethod; // nmethod that is currently being deoptimized vframeArray* _vframe_array_head; // Holds the heap of the active vframeArrays vframeArray* _vframe_array_last; // Holds last vFrameArray we popped // Because deoptimization is lazy we must save jvmti requests to set locals @@ -1098,6 +1098,9 @@ void set_must_deopt_id(intptr_t* id) { _must_deopt_id = id; } void clear_must_deopt_id() { _must_deopt_id = NULL; } + void set_deopt_nmethod(nmethod* nm) { _deopt_nmethod = nm; } + nmethod* deopt_nmethod() { return _deopt_nmethod; } + methodOop callee_target() const { return _callee_target; } void set_callee_target (methodOop x) { _callee_target = x; }