[jdk17u-dev] Integrated: 8357968: RISC-V: Interpreter volatile reference stores with G1 are not sequentially consistent

Feilong Jiang fjiang at openjdk.org
Fri Jun 27 08:19:47 UTC 2025


On Wed, 25 Jun 2025 15:07:07 GMT, Feilong Jiang <fjiang at openjdk.org> wrote:

> Fixes RISC-V memory ordering problem.
> This patch is not clean because [JDK-8293290](https://bugs.openjdk.org/browse/JDK-8293290) adds a third temporary register to `store_heap_oop`, which is introduced in JDK20. 
> In JDK17, `do_oop_store` also clobbers the same `x13` as in mailine. The current fix is similar to aarch64 in mainline, but puts the flags in `x15` instead, to avoid the clobber of the volatile bits.
> 
> Additional testing:
> - [x] linux-riscv64 server release, jcstress `RefDekker` test now passes
> - [x] linux-riscv64 server release, Tier1-3

This pull request has now been integrated.

Changeset: 76e13298
Author:    Feilong Jiang <fjiang at openjdk.org>
Committer: Fei Yang <fyang at openjdk.org>
URL:       https://git.openjdk.org/jdk17u-dev/commit/76e132986406ad3c0a557aa907e593490a31ebcf
Stats:     8 lines in 1 file changed: 4 ins; 0 del; 4 mod

8357968: RISC-V: Interpreter volatile reference stores with G1 are not sequentially consistent

Reviewed-by: rehn, fyang
Backport-of: c5a1543ee3e68775f09ca29fb07efd9aebfdb33e

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

PR: https://git.openjdk.org/jdk17u-dev/pull/3678


More information about the jdk-updates-dev mailing list