--- a/hotspot/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp Wed Dec 23 21:09:50 2015 -0800
+++ b/hotspot/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp Wed Dec 23 20:19:42 2015 -1000
@@ -225,6 +225,19 @@
__ restore_constant_pool_cache();
__ get_method(rmethod);
+#if INCLUDE_JVMCI
+ // Check if we need to take lock at entry of synchronized method.
+ if (UseJVMCICompiler) {
+ 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);
+ }
+#endif
// handle exceptions
{
Label L;