[jdk17u-dev] Integrated: 8351997: AArch64: Interpreter volatile reference stores with G1 are not sequentially consistent
Aleksey Shipilev
shade at openjdk.org
Fri Jul 4 13:27:48 UTC 2025
On Wed, 2 Jul 2025 12:19:05 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 picked up the JDK 21u backport version (https://git.openjdk.org/jdk21u-dev/commit/729f10053eab4b8fe8a857e14ce0f96a82c721b8), where 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`
This pull request has now been integrated.
Changeset: 0e9b1df4
Author: Aleksey Shipilev <shade at openjdk.org>
URL: https://git.openjdk.org/jdk17u-dev/commit/0e9b1df4d75b9d233c0297b0763b052e9fde55ed
Stats: 8 lines in 1 file changed: 4 ins; 0 del; 4 mod
8351997: AArch64: Interpreter volatile reference stores with G1 are not sequentially consistent
Reviewed-by: eosterlund, adinn
Backport-of: 83b15da2eb3cb6c8937f517c9b75eaa9eeece314
-------------
PR: https://git.openjdk.org/jdk17u-dev/pull/3697
More information about the jdk-updates-dev
mailing list