On Tue, 26 Sep 2023 02:27:39 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

>> Ah! I guess we get used to talking about "at a safepoint" when we really 
>> mean "at a fixed point in time". So the VM is not necessarily at a 
>> safepoint, but everything is fixed. So invariants may not hold, but the 
>> state cannot change. So in the current context the anonymous owner should be 
>> found ... I guess the question to be answered is how the code tries to find 
>> an anonymous owner? I'm not sure how you can find it.
>
>> Ah! I guess we get used to talking about "at a safepoint" when we really 
>> mean "at a fixed point in time". So the VM is not necessarily at a 
>> safepoint, but everything is fixed. So invariants may not hold, but the 
>> state cannot change.
> 
> Correct!
> 
>> So in the current context the anonymous owner should be found ...
> 
> That's what I concluded based on Roman's description of how things work.
> 
>>  I guess the question to be answered is how the code tries to find an 
>> anonymous owner? I'm not sure how you can find it.
> 
> I'm not sure yet. I'll need to have a look.

AFAICS we update the owner to the real thread before we remove the object from 
the lock stack. So if we see the object monitor is anonymously owned then we 
should find the monitor object in a thread's lockstack.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15907#discussion_r1336557193

Reply via email to