[jdk21u-dev] RFR: 8351997: AArch64: Interpreter volatile reference stores with G1 are not sequentially consistent

Aleksey Shipilev shade at openjdk.org
Fri Jun 20 10:28:29 UTC 2025


On Thu, 19 Jun 2025 12:12:21 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> 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
>  - [x] Linux AArch64 server release, jcstress `seqcst.volatiles.ref` tests now pass
>  - [x] Linux AArch64 server release, jcstress `all` tests now pass
>  - [x] Linux AArch64 server fastdebug, `all`

@theRealAph, @fisk -- take a look as well?

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

PR Comment: https://git.openjdk.org/jdk21u-dev/pull/1905#issuecomment-2990825202


More information about the jdk-updates-dev mailing list