Skip to content

Commit 2240c7e

Browse files
committed
8305543: Ensure GC barriers for arraycopy on AArch64 use caller saved neon temp registers
Reviewed-by: rcastanedalo, aph
1 parent 1958f0e commit 2240c7e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ class StubGenerator: public StubCodeGenerator {
791791
t4 = r7, t5 = r11, t6 = r12, t7 = r13;
792792
const Register stride = r14;
793793
const Register gct1 = rscratch1, gct2 = rscratch2, gct3 = r10;
794-
const FloatRegister gcvt1 = v6, gcvt2 = v7, gcvt3 = v8;
794+
const FloatRegister gcvt1 = v6, gcvt2 = v7, gcvt3 = v16; // Note that v8-v15 are callee saved
795795
ArrayCopyBarrierSetHelper bs(_masm, decorators, type, gct1, gct2, gct3, gcvt1, gcvt2, gcvt3);
796796

797797
assert_different_registers(rscratch1, rscratch2, t0, t1, t2, t3, t4, t5, t6, t7);
@@ -1185,7 +1185,7 @@ class StubGenerator: public StubCodeGenerator {
11851185
const Register t6 = r12, t7 = r13, t8 = r14, t9 = r15;
11861186
const Register send = r17, dend = r16;
11871187
const Register gct1 = rscratch1, gct2 = rscratch2, gct3 = r10;
1188-
const FloatRegister gcvt1 = v6, gcvt2 = v7, gcvt3 = v8;
1188+
const FloatRegister gcvt1 = v6, gcvt2 = v7, gcvt3 = v16; // Note that v8-v15 are callee saved
11891189
ArrayCopyBarrierSetHelper bs(_masm, decorators, type, gct1, gct2, gct3, gcvt1, gcvt2, gcvt3);
11901190

11911191
if (PrefetchCopyIntervalInBytes > 0)

0 commit comments

Comments
 (0)