8228601: AArch64: Fix interpreter code at JVMCI deoptimization entry
Reviewed-by: adinn, aph
--- a/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp Tue Jul 30 07:22:05 2019 +0200
+++ b/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp Wed Jul 31 09:52:28 2019 +0800
@@ -514,7 +514,7 @@
// only occur on method entry so emit it only for vtos with step 0.
if ((EnableJVMCI || UseAOT) && state == vtos && step == 0) {
Label L;
- __ ldr(rscratch1, Address(rthread, Thread::pending_exception_offset()));
+ __ ldrb(rscratch1, Address(rthread, JavaThread::pending_monitorenter_offset()));
__ cbz(rscratch1, L);
// Clear flag.
__ strb(zr, Address(rthread, JavaThread::pending_monitorenter_offset()));
@@ -525,7 +525,7 @@
#ifdef ASSERT
if (EnableJVMCI) {
Label L;
- __ ldr(rscratch1, Address(rthread, Thread::pending_exception_offset()));
+ __ ldrb(rscratch1, Address(rthread, JavaThread::pending_monitorenter_offset()));
__ cbz(rscratch1, L);
__ stop("unexpected pending monitor in deopt entry");
__ bind(L);