RFR: 8316746: Top of lock-stack does not match the unlocked object [v3]

Martin Doerr mdoerr at openjdk.org
Thu Oct 12 10:09:19 UTC 2023


On Thu, 28 Sep 2023 10:38:52 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> I think we need to support "Top of lock-stack does not match the unlocked object" and take the slow path. Reason: see JBS issue.
>> Currently only PPC64, x86_64 and aarch64 code. I'd like to get feedback before implementing it for other platforms (needed for all platforms).
>
> Martin Doerr has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
> 
>  - Pass may_be_unordered information to lightweight_unlock.
>  - Merge remote-tracking branch 'origin' into 8316746_lock_stack
>  - Add x86_64 and aarch64 implementation.
>  - 8316746: Top of lock-stack does not match the unlocked object

Hi Dean, let me try to summarize my experiments:
- This PR is one solution which makes all tests pass. The other experiments don't use this PR.
- The reversed order in `load_interpreter_state` makes the nsk/jdi/StepEvent pass, but my new test failing on PPC64. In addition, nsk/jvmti/GetObjectMonitorUsage/objmonusage006/TestDescription.java fails on all platforms with that change. So, we can't use it.
- I couldn't reproduce any unlock issue on x86_64 with the checks I had implemented (regardless of the `load_interpreter_state` change) except objmonusage006 with `load_interpreter_state` change.

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

PR Comment: https://git.openjdk.org/jdk/pull/15903#issuecomment-1759311882


More information about the hotspot-dev mailing list