< 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 >