< prev index next >

src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp

Print this page
rev 55818 : 8228601: AArch64: Fix interpreter code at JVMCI deoptimization entry
Reviewed-by: duke

*** 512,533 **** #if INCLUDE_JVMCI // Check if we need to take lock at entry of synchronized method. This can // 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())); __ cbz(rscratch1, L); // Clear flag. __ strb(zr, Address(rthread, JavaThread::pending_monitorenter_offset())); // Take lock. lock_method(); __ bind(L); } else { #ifdef ASSERT if (EnableJVMCI) { Label L; ! __ ldr(rscratch1, Address(rthread, Thread::pending_exception_offset())); __ cbz(rscratch1, L); __ stop("unexpected pending monitor in deopt entry"); __ bind(L); } #endif --- 512,533 ---- #if INCLUDE_JVMCI // Check if we need to take lock at entry of synchronized method. This can // only occur on method entry so emit it only for vtos with step 0. if ((EnableJVMCI || UseAOT) && state == vtos && step == 0) { Label L; ! __ ldrb(rscratch1, Address(rthread, JavaThread::pending_monitorenter_offset())); __ cbz(rscratch1, L); // Clear flag. __ strb(zr, Address(rthread, JavaThread::pending_monitorenter_offset())); // Take lock. lock_method(); __ bind(L); } else { #ifdef ASSERT if (EnableJVMCI) { Label L; ! __ ldrb(rscratch1, Address(rthread, JavaThread::pending_monitorenter_offset())); __ cbz(rscratch1, L); __ stop("unexpected pending monitor in deopt entry"); __ bind(L); } #endif
< prev index next >