< prev index next >

src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

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

@@ -931,19 +931,22 @@
   PatchingStub* patch = NULL;
   Register compressed_src = rscratch1;
 
   if (type == T_ARRAY || type == T_OBJECT) {
     __ verify_oop(src->as_register());
+    __ shenandoah_store_check(as_Address(to_addr), src->as_register());
 #ifdef _LP64
     if (UseCompressedOops && !wide) {
       __ movptr(compressed_src, src->as_register());
       __ encode_heap_oop(compressed_src);
       if (patch_code != lir_patch_none) {
         info->oop_map()->set_narrowoop(compressed_src->as_VMReg());
       }
     }
 #endif
+  } else {
+    __ shenandoah_store_addr_check(to_addr->base()->as_pointer_register());
   }
 
   if (patch_code != lir_patch_none) {
     patch = new PatchingStub(_masm, PatchingStub::access_field_id);
     Address toa = as_Address(to_addr);
< prev index next >