< prev index next >

src/cpu/x86/vm/sharedRuntime_x86_64.cpp

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

@@ -2367,10 +2367,11 @@
 
     // Load immediate 1 into swap_reg %rax
     __ movl(swap_reg, 1);
 
     // Load (object->mark() | 1) into swap_reg %rax
+    __ shenandoah_store_addr_check(obj_reg); // Access mark word
     __ orptr(swap_reg, Address(obj_reg, 0));
 
     // Save (object->mark() | 1) into BasicLock's displaced header
     __ movptr(Address(lock_reg, mark_word_offset), swap_reg);
 

@@ -2531,10 +2532,11 @@
     __ movptr(obj_reg, Address(oop_handle_reg, 0));
     oopDesc::bs()->interpreter_write_barrier(masm, obj_reg);
 
     Label done;
 
+    __ shenandoah_store_addr_check(obj_reg);
     if (UseBiasedLocking) {
       __ biased_locking_exit(obj_reg, old_hdr, done);
     }
 
     // Simple recursive lock?
< prev index next >