8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register
authorshade
Tue, 22 Oct 2019 14:05:56 +0200
changeset 58737 a39cdab8fac1
parent 58735 24d411cb3a90
child 58738 ef2b75750838
8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register Reviewed-by: rkennke
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);