RFR: 8324881: ObjectSynchronizer::inflate(Thread* current...) is invoked for non-current thread [v4]

Richard Reingruber rrich at openjdk.org
Fri Feb 2 08:03:02 UTC 2024


On Thu, 1 Feb 2024 22:52:27 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:

>> With LM_LEGACY `ObjectMonitor::_owner` will either be the JavaThread* of the owner or the BasicLock* in the stack of the owner found in the mark word of the object when the lock gets inflated:
>> ```c++
>>   void* volatile _owner;            // pointer to owning thread OR BasicLock
>> 
>> Here at L332 the JavaThread* case is handled. At L350 -> 355 the BasicLock* case is handled.
>
> Ummm... Here's the comment line I'm talking about:
>> I thought you would have to handle `LockingMode == LM_LEGACY && locking_thread->is_lock_owned((address)prev_owner) == true`. 
> 
> and the code that I referred to on L350 is exactly that line of code. Again, what am I missing?

Axel added that line after my comment.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17626#discussion_r1475695841


More information about the hotspot-dev mailing list