RFR: 8266440: Shenandoah: TestReferenceShortcutCycle.java test failed on AArch64

Nick Gasson ngasson at openjdk.java.net
Fri May 7 03:22:07 UTC 2021


On Thu, 6 May 2021 14:40:51 GMT, Zhengyu Gu <zgu 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.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3902


More information about the shenandoah-dev mailing list