On Tue, 4 Apr 2023 12:25:19 GMT, David Holmes <dhol...@openjdk.org> wrote:

>> That is done one layer up in InterpreterMacroAssembler::unlock_object.
>
> Thanks @tstuefe . I see at that level if the object doesn't match the top of 
> the lock-stack then we take the slow path. But then I'm lost - AFAICS the 
> slow path is `InterpreterRuntime::monitorexit` and that doesn't have any 
> fast-locking code in it at all ???

I'm not sure what you mean. `InterpreterRuntime::monitorexit` will enter 
`ObjectSynchronizer::exit` which handles the fast-locking case under `if 
(LockingMode == 2)...`. Or am I misunderstanding you?

(I really wish for named constants instead of `1` and `2` constants though...)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/10907#discussion_r1157209193

Reply via email to