< prev index next >

src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp

Print this page
rev 12152 : [mq]: verification.patch

*** 772,781 **** --- 772,782 ---- __ sub(sp, sp, entry_size); // add space for a monitor entry __ sub(esp, esp, entry_size); __ mov(rscratch1, esp); __ str(rscratch1, monitor_block_top); // set new monitor block top // store object + __ shenandoah_store_addr_check(r0); __ str(r0, Address(esp, BasicObjectLock::obj_offset_in_bytes())); __ mov(c_rarg1, esp); // object address __ lock_object(c_rarg1); }
*** 1438,1447 **** --- 1439,1449 ---- __ lea (c_rarg1, Address(rfp, // address of first monitor (intptr_t)(frame::interpreter_frame_initial_sp_offset * wordSize - sizeof(BasicObjectLock)))); __ ldr(t, Address(c_rarg1, BasicObjectLock::obj_offset_in_bytes())); + __ shenandoah_store_addr_check(t); // Invariant __ cbnz(t, unlock); // Entry already unlocked, need to throw exception __ MacroAssembler::call_VM(noreg, CAST_FROM_FN_PTR(address,
< prev index next >