8266440: Shenandoah: TestReferenceShortcutCycle.java test failed on AArch64

Reviewed-by: aph
This commit is contained in:
Zhengyu Gu 2021-05-10 17:59:54 +00:00
parent de784312c3
commit f78440ad43

View File

@ -242,7 +242,14 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm,
__ ldrb(rscratch2, gc_state);
// Check for heap stability
__ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, heap_stable);
if (is_strong) {
__ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, heap_stable);
} else {
Label lrb;
__ tbnz(rscratch2, ShenandoahHeap::WEAK_ROOTS_BITPOS, lrb);
__ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, heap_stable);
__ bind(lrb);
}
// use r1 for load address
Register result_dst = dst;