[lworld] RFR: 8366879: [lworld] C2's lock elimination fails after JDK-8335256

Tobias Hartmann thartmann at openjdk.org
Thu Sep 4 12:26:02 UTC 2025


Since [JDK-8335256](https://bugs.openjdk.org/browse/JDK-8335256) / https://github.com/openjdk/valhalla/pull/1447 we attempt lock elimination already before Escape Analysis.  However, allocations of locked objects might block lock elimination if their escape state isn't determined yet and we only got one chance at eliminating the lock:
https://github.com/openjdk/valhalla/blob/1207841579be65b56c3e18d8d13453dd507d6a74/src/hotspot/share/opto/macro.cpp#L3001-L3004

I changed the code such that we only attempt lock elimination after EA and added a corresponding regression test.

Thanks,
Tobias

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

Commit messages:
 - 8366879: [lworld] C2's lock elimination fails after JDK-8335256

Changes: https://git.openjdk.org/valhalla/pull/1546/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1546&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8366879
  Stats: 107 lines in 5 files changed: 82 ins; 9 del; 16 mod
  Patch: https://git.openjdk.org/valhalla/pull/1546.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1546/head:pull/1546

PR: https://git.openjdk.org/valhalla/pull/1546


More information about the valhalla-dev mailing list