RFR: 8351997: AArch64: Interpreter volatile reference stores with G1 are not sequentially consistent

Erik Österlund eosterlund at openjdk.org
Wed May 28 15:10:57 UTC 2025


On Wed, 28 May 2025 14:30:08 GMT, Andrew Haley <aph at openjdk.org> wrote:

> > This extra leading fence on volatile loads when C2 is available masked the lack of trailing fence on the store side. Therefore, the Dekker duality in the test that hung worked out anyway then.
> 
> Ha, yes. It's a funny old world. For what it's worth, I wanted to use seq cst loads and stores for all volatile accesses in the interpreter, but I was talked out of it.

I would have liked that solution. We have MO_ decorators, so would have been pretty neat to do the right thing in the backend instead, and not have mixed seq cst bindings that are subtly different and have to play along with each other. Oh well.

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

PR Comment: https://git.openjdk.org/jdk/pull/25483#issuecomment-2916700725


More information about the hotspot-runtime-dev mailing list