RFR: 8298733: Reconsider monitors_on_stack assert
Fredrik Bredberg
fbredberg at openjdk.org
Tue Apr 15 11:51:59 UTC 2025
This PR aims to revert this [8298371: monitors_on_stack extracts unprocessed oops](https://github.com/openjdk/jdk/pull/11582) fix at the same time as we retain the ability to assert that we don't have any monitors on the stack when legacy locking is used.
It does so by moving an assert that ensures that we don't have any monitors on the stack to a place where all stack frames should have been processed. I.e. it's safe to check the frame for any monitor.
A new function called assert_frames_in_continuation_are_safe() asserts that the frames has been processed (i.e. it safe to revert the [8298371](https://github.com/openjdk/jdk/pull/11582) fix). By keeping that assertion functionality separate from monitors_on_stack() we will be able to keep that assertion after we have removed legacy locking.
In order to recreate the original [problem](https://github.com/openjdk/jdk/pull/11582) and verifying that this PR works used, I used:
`-XX:LockingMode=1 -XX:+UseZGC -XX:+ZVerifyOops -XX:ZCollectionIntervalMajor=0.001 Fuzz.java
`
Also passes tier1-7.
-------------
Commit messages:
- 8298733: Reconsider monitors_on_stack assert
Changes: https://git.openjdk.org/jdk/pull/24655/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24655&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8298733
Stats: 61 lines in 2 files changed: 41 ins; 20 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/24655.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24655/head:pull/24655
PR: https://git.openjdk.org/jdk/pull/24655
More information about the hotspot-runtime-dev
mailing list