diff -r 5fb0f3f24f6b -r ee8e37f85775 src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp Fri Dec 01 18:20:00 2017 +0300 +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp Fri Dec 01 18:24:52 2017 +0300 @@ -998,12 +998,12 @@ void atomic_xchgalw(Register prev, Register newv, Register addr); void orptr(Address adr, RegisterOrConstant src) { - ldr(rscratch2, adr); + ldr(rscratch1, adr); if (src.is_register()) - orr(rscratch2, rscratch2, src.as_register()); + orr(rscratch1, rscratch1, src.as_register()); else - orr(rscratch2, rscratch2, src.as_constant()); - str(rscratch2, adr); + orr(rscratch1, rscratch1, src.as_constant()); + str(rscratch1, adr); } // A generic CAS; success or failure is in the EQ flag.