On Mon, 17 Jun 2024 13:15:27 GMT, Inigo Mediavilla Saiz <d...@openjdk.org> 
wrote:

>>> We need a comment explaining why we have to check for this as without 
>>> knowing the implementation quirks it seems non-sensical for a thread to 
>>> have mounted itself!
>> 
>> Just to note that JavaThread._vthread is always the "current thread". It's 
>> the virtual thread when mounted, the carrier (as in itself) when there is no 
>> virtual thread mounted. It's done this way so that the C2 instrinic for 
>> currentThread doesn't need a branch/test.
>
> I wasn't aware of that, and I was going to suggest to add that information as 
> documentation, but it seems to be already documented here: 
> https://github.com/openjdk/jdk/blob/ad0b54d429fdbd806c09aa06bb42f1ed4a0297e8/src/hotspot/share/runtime/javaThread.hpp#L95

I've still clarified why the `if` is required in 
9a954efe164d9caee31494773c0eecc8ff69223f

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19744#discussion_r1642807104

Reply via email to