RFR: 8368303: AlwaysAtomicAccesses is excessively strict

Albert Mingkun Yang ayang at openjdk.org
Wed Sep 24 09:03:56 UTC 2025


On Wed, 24 Sep 2025 08:37:28 GMT, Andrew Haley <aph at openjdk.org> wrote:

> That's not possible because this behaviour is being done in shared code, and cannot be overridden by the back ends.

In `c1_LIRGenerator_x86.cpp`:


void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address,
                                        CodeEmitInfo* info) {
  if (address->type() == T_LONG) {
    ...
  } else {
    __ store(value, address, info);
  }
}

I thought the `else` branch is implementing the "optimization" -- using plain store/move for smaller types.

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

PR Comment: https://git.openjdk.org/jdk/pull/27432#issuecomment-3327312085


More information about the hotspot-dev mailing list