RFR: 8266440: Shenandoah: TestReferenceShortcutCycle.java test failed on AArch64
Andrew Haley
aph at openjdk.java.net
Sat May 8 08:59:19 UTC 2021
On Fri, 7 May 2021 15:05:38 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
>> Unfortunately, tmp1 == noreg here.
>
> so, this is better alternative?
> `Label lrb;`
> `__ tbnz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, lrb);`
> `__ tbnz(rscratch2, ShenandoahHeap::WEAK_ROOTS_BITPOS, lrb);`
> `__ b(heap_stable);`
> `__ bind(lrb);`
How about
// Check for heap stability
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);
}
-------------
PR: https://git.openjdk.java.net/jdk/pull/3902
More information about the shenandoah-dev
mailing list