< prev index next >

src/cpu/x86/vm/templateInterpreterGenerator_x86.cpp

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

*** 622,631 **** --- 622,632 ---- // add space for monitor & lock __ subptr(rsp, entry_size); // add space for a monitor entry __ movptr(monitor_block_top, rsp); // set new monitor block top // store object + __ shenandoah_store_addr_check(rax); __ movptr(Address(rsp, BasicObjectLock::obj_offset_in_bytes()), rax); const Register lockreg = NOT_LP64(rdx) LP64_ONLY(c_rarg1); __ movptr(lockreg, rsp); // object address __ lock_object(lockreg); }
*** 1267,1276 **** --- 1268,1278 ---- // monitor expect in c_rarg1 for slow unlock path __ lea(regmon, monitor); // address of first monitor __ movptr(t, Address(regmon, BasicObjectLock::obj_offset_in_bytes())); + __ shenandoah_store_addr_check(t); // Invariant __ testptr(t, t); __ jcc(Assembler::notZero, unlock); // Entry already unlocked, need to throw exception __ MacroAssembler::call_VM(noreg,
< prev index next >