RFR: 8266440: Shenandoah: TestReferenceShortcutCycle.java test failed on AArch64
Andrew Haley
aph at openjdk.java.net
Fri May 7 14:34:00 UTC 2021
On Fri, 7 May 2021 03:19:08 GMT, Nick Gasson <ngasson at openjdk.org> wrote:
>> JDK-8263427 missed corresponding changes for aarch64.
>>
>> LRB needs to be enabled during weak roots/references processing, regardless if heap is stable.
>>
>> Test:
>>
>> - [x] hotspot_gc_shenandoah on Macosx/AArch64
>> - [ ] hotspot_gc_shenandoah on Linux 64/AArch64
>
> src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp line 249:
>
>> 247: } else {
>> 248: if (dst == rscratch1) {
>> 249: __ push(rscratch1, sp);
>
> Could we avoid the push/pop by passing in an extra temporary? We have `tmp1` available in `ShenandoahBarrierSetAssembler::load_at()` which is the only place that calls this.
We don't need a register. It's just a TBNZ and a TBZ, isn't it?
-------------
PR: https://git.openjdk.java.net/jdk/pull/3902
More information about the shenandoah-dev
mailing list