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

Dean Long dlong at openjdk.org
Fri Oct 6 23:56:04 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

The lock stack has a fixed size, so it cannot contain the complete lock order.  Only the C1/C2 BasicObjectLock stack records contain that.  In theory we could do sanity checks against the top of that "stack" for C1/C2, but the compiler current cheat.  Instead of passing in the oop for unlock, they grab it from the top of the BasicObjectLock stack, so any sanity check would always pass.

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

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


More information about the hotspot-dev mailing list