[jdk21u-dev] RFR: 8351997: AArch64: Interpreter volatile reference stores with G1 are not sequentially consistent
Aleksey Shipilev
shade at openjdk.org
Thu Jun 19 12:42:02 UTC 2025
Fixes AArch64 memory ordering problem. Readily manifests in new jcstress tests; there are sightings of related problems in JSR 133 tests. The patch is not clean, because [JDK-8301996](https://bugs.openjdk.org/browse/JDK-8301996) is in the way, and it is IMO too risky to backport. I resolved some hunks to match the intended behavior, after checking `do_oop_store` clobbers the same `r3` as in mainline.
Additional testing:
- [x] Linux AArch64 server release, jcstress `RefDekker` test now passes
- [ ] Linux AArch64 server release, jcstress `seqcst.volatiles.ref` tests now pass
- [ ] Linux AArch64 server release, jcstress `all` tests now pass
- [ ] Linux AArch64 server fastdebug, `all`
-------------
Commit messages:
- Backport 83b15da2eb3cb6c8937f517c9b75eaa9eeece314
Changes: https://git.openjdk.org/jdk21u-dev/pull/1905/files
Webrev: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=1905&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8351997
Stats: 8 lines in 1 file changed: 4 ins; 0 del; 4 mod
Patch: https://git.openjdk.org/jdk21u-dev/pull/1905.diff
Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/1905/head:pull/1905
PR: https://git.openjdk.org/jdk21u-dev/pull/1905
More information about the jdk-updates-dev
mailing list