Details
-
Enhancement
-
Status: Resolved
-
P4
-
Resolution: Fixed
-
8-shenandoah, 11.0.9, 16, 17
-
b04
Description
Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64.
This seems to be excessive for Shenandoah update references code, and "relaxed" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS).
It would not help AArch64 much untilJDK-8261579 actually implements weaker semantics.
This seems to be excessive for Shenandoah update references code, and "relaxed" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS).
It would not help AArch64 much until
Attachments
Issue Links
- is blocked by
-
JDK-8261579 AArch64: Support for weaker memory ordering in Atomic
-
- Resolved
-
- relates to
-
JDK-8273127 Shenandoah: relax update references memory ordering even more
-
- Closed
-
- links to
-
Commit openjdk/jdk/a96012a7
-
Review openjdk/jdk17u-dev/8
-
Review openjdk/jdk17u/254
-
Review openjdk/jdk/2498
(1 links to)