RFR: 8361376: Regressions 1-6% in several Renaissance in 26-b4 only MacOSX aarch64

Dean Long dlong at openjdk.org
Wed Jul 23 19:55:34 UTC 2025


This PR removes the recently added lock around set_guard_value, using instead Atomic::cmpxchg to atomically update bit-fields of the guard value.  Further, it takes a fast-path that uses the previous direct store when at a safepoint.  Combined, these changes should get us back to almost where we were before in terms of overhead.  If necessary, we could go even further and allow make_not_entrant() do a direct byte store, leaving 24 bits for the guard value.

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

Commit messages:
 - trailing white space
 - fix s390 copy-paste
 - use fast path for safepoints
 - ppc align check
 - ppc align
 - simplify x86
 - In CAS loop, update old_value from result of CAS
 - fix ppc build
 - fix zero build
 - ppc typos
 - ... and 3 more: https://git.openjdk.org/jdk/compare/cf75f1f9...ecc6e68e

Changes: https://git.openjdk.org/jdk/pull/26399/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26399&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8361376
  Stats: 214 lines in 13 files changed: 118 ins; 58 del; 38 mod
  Patch: https://git.openjdk.org/jdk/pull/26399.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26399/head:pull/26399

PR: https://git.openjdk.org/jdk/pull/26399


More information about the hotspot-compiler-dev mailing list