mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 10:34:38 +02:00
6986270: guarantee(*bcp != Bytecodes::_monitorenter || exec_mode != Deoptimization::Unpack_exception) fails
Propagate the compiler type of the deopting method to vframeArrayElement::unpack_on_stack() Reviewed-by: jrose, never
This commit is contained in:
parent
2e4e2602d7
commit
0f31511718
4 changed files with 14 additions and 4 deletions
|
@ -124,6 +124,9 @@ Deoptimization::UnrollBlock* Deoptimization::fetch_unroll_info_helper(JavaThread
|
|||
RegisterMap dummy_map(thread, false);
|
||||
// Now get the deoptee with a valid map
|
||||
frame deoptee = stub_frame.sender(&map);
|
||||
// Set the deoptee nmethod
|
||||
assert(thread->deopt_nmethod() == NULL, "Pending deopt!");
|
||||
thread->set_deopt_nmethod(deoptee.cb()->as_nmethod_or_null());
|
||||
|
||||
// Create a growable array of VFrames where each VFrame represents an inlined
|
||||
// Java frame. This storage is allocated with the usual system arena.
|
||||
|
@ -445,6 +448,7 @@ void Deoptimization::cleanup_deopt_info(JavaThread *thread,
|
|||
|
||||
delete thread->deopt_mark();
|
||||
thread->set_deopt_mark(NULL);
|
||||
thread->set_deopt_nmethod(NULL);
|
||||
|
||||
|
||||
if (JvmtiExport::can_pop_frame()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue