Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
8254611: x86_32: Call to IRT::at_unwind clobbers rthread after JDK-82…
…53180

Reviewed-by: eosterlund
  • Loading branch information
shipilev committed Oct 13, 2020
1 parent c9ca1bb commit 90de289
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/hotspot/cpu/x86/interp_masm_x86.cpp
Expand Up @@ -988,7 +988,7 @@ void InterpreterMacroAssembler::remove_activation(
const Register rmon = LP64_ONLY(c_rarg1) NOT_LP64(rcx);
// monitor pointers need different register
// because rdx may have the result in it
NOT_LP64(get_thread(rcx);)
NOT_LP64(get_thread(rthread);)

// The below poll is for the stack watermark barrier. It allows fixing up frames lazily,
// that would normally not be safe to use. Such bad returns into unsafe territory of
Expand All @@ -1001,6 +1001,7 @@ void InterpreterMacroAssembler::remove_activation(
push(state);
call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::at_unwind));
pop(state);
NOT_LP64(get_thread(rthread);) // call_VM clobbered it, restore
bind(fast_path);

// get the value of _do_not_unlock_if_synchronized into rdx
Expand Down

1 comment on commit 90de289

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented on 90de289 Oct 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.