< prev index next >
src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
Print this page
rev 12152 : [mq]: verification.patch
*** 816,830 ****
--- 816,834 ----
}
if (type == T_ARRAY || type == T_OBJECT) {
__ verify_oop(src->as_register());
+ __ shenandoah_store_check(as_Address(to_addr), src->as_register());
+
if (UseCompressedOops && !wide) {
__ encode_heap_oop(compressed_src, src->as_register());
} else {
compressed_src = src->as_register();
}
+ } else {
+ __ shenandoah_store_addr_check(to_addr->base()->as_pointer_register());
}
int null_check_here = code_offset();
switch (type) {
case T_FLOAT: {
*** 840,850 ****
case T_ARRAY: // fall through
case T_OBJECT: // fall through
if (UseCompressedOops && !wide) {
__ strw(compressed_src, as_Address(to_addr, rscratch2));
} else {
- __ shenandoah_store_check(compressed_src, as_Address(to_addr));
__ str(compressed_src, as_Address(to_addr));
}
break;
case T_METADATA:
// We get here to store a method pointer to the stack to pass to
--- 844,853 ----
< prev index next >