JDK-8232782 : Shenandoah: streamline post-LRB CAS barrier (aarch64)
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 8-shenandoah,11.0.9,12,13,14
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2019-10-22
  • Updated: 2021-08-24
  • Resolved: 2020-07-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 16
11.0.13Fixed 16 b05Fixed
Related Reports
Blocks :  
Relates :  
Description
This is the follow-up after JDK-8222766, but for AArch64.

After LRB switched Shenandoah to strong to-space invariant, we can simplify CAS handling logic a bit. Notably, we can avoid the retry loop that was needed due to from-space ptrs potentially stored in memory.

Current CAS code in AArch64 uses LL/SC with retries already, and so it needs to be carefully reviewed and optimized.
Comments
Fix Request (11u) This improves Shenandoah AArch64 support, and keeps Shenandoah codebases in sync between releases. Patch does not apply cleanly due to some conflicts, see PR. The change is fully in Shenandoah code. 11u PR is acked by phh.
23-08-2021

URL: https://hg.openjdk.java.net/jdk/jdk/rev/a0f6d9504107 User: rkennke Date: 2020-07-07 09:40:00 +0000
07-07-2020

Added "starter" label, with caveat: the issue is very contained in one moderately-sized method, and it has the baseline implementation in x86. There is no need to change the rest of GC code. However, it is not simple and it requires careful coding.
06-03-2020