--- a/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Mon Mar 25 09:07:55 2019 -0700
+++ b/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Mon Mar 25 19:49:32 2019 +0300
@@ -1375,8 +1375,6 @@
__ pop(RegSet::of(d, count), sp);
if (VerifyOops)
verify_oop_array(size, d, count, r16);
- __ sub(count, count, 1); // make an inclusive end pointer
- __ lea(count, Address(d, count, Address::lsl(exact_log2(size))));
}
bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, rscratch1, RegSet());
@@ -1448,8 +1446,6 @@
__ pop(RegSet::of(d, count), sp);
if (VerifyOops)
verify_oop_array(size, d, count, r16);
- __ sub(count, count, 1); // make an inclusive end pointer
- __ lea(count, Address(d, count, Address::lsl(exact_log2(size))));
}
bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, rscratch1, RegSet());
__ leave();
@@ -1842,8 +1838,7 @@
__ br(Assembler::EQ, L_done_pop);
__ BIND(L_do_card_marks);
- __ add(to, to, -heapOopSize); // make an inclusive end pointer
- bs->arraycopy_epilogue(_masm, decorators, is_oop, start_to, to, rscratch1, wb_post_saved_regs);
+ bs->arraycopy_epilogue(_masm, decorators, is_oop, start_to, count_save, rscratch1, wb_post_saved_regs);
__ bind(L_done_pop);
__ pop(RegSet::of(r18, r19, r20, r21), sp);