# HG changeset patch # User shade # Date 1571745956 -7200 # Node ID a39cdab8fac14ea13714235e847b97d06827c512 # Parent 24d411cb3a9094fa6bdaef75e69fdd358ded29f0 8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register Reviewed-by: rkennke diff -r 24d411cb3a90 -r a39cdab8fac1 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 08:57:41 2019 +0200 +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 14:05:56 2019 +0200 @@ -58,7 +58,7 @@ Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); __ ldrb(rscratch1, gc_state); if (dest_uninitialized) { - __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); + __ tbz(rscratch1, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); } else { __ mov(rscratch2, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING); __ tst(rscratch1, rscratch2);