On Tue, 20 Jan 2026 00:49:19 GMT, David Holmes <[email protected]> wrote:
>> Anton Artemov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> 8366659: Addressed reviewers' comments, added comments, renamed tests.
>
> src/hotspot/share/runtime/objectMonitor.cpp line 2296:
>
>> 2294: // unparked directly in notify_internal(). Its state is then TS_RUN.
>> 2295: if (state == ObjectWaiter::TS_RUN) {
>> 2296: bool acquired = vthread_monitor_enter(current, node);
>
> If we get here due to the direct unpark is it possible for `acquired` to be
> false? If so then I think the else clause starting at line 2312 below will be
> incorrect - it expects the thread to be on the entry list which it won't be.
The else clause at line 2312 pairs with `if (state == ObjectWaiter::TS_RUN)`
statement, there are only two possibilities, either TS_RUN, or TS_ENTER, the
latter implies that the thread is on the `entry_list`.
If `acquired` is false when handling TS_RUN case, it is fine, the whole method
will return false at line 2316.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27040#discussion_r2707399555