On Fri, 6 Oct 2023 18:46:42 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:

>> The JVMTI VirtualThreadStart events have to follow the ThreadStart events 
>> pattern and so, should not be thread-filtered.
>> The fix includes:
>>  - `jvmti.xml`: remov the attribute `filtered="thread"` in the 
>> `VirtuallThreadStart` event spec
>>  - `jvmtiEventController.cpp`: remove the `VTHREAD_START_BIT` from the 
>> `THREAD_FILTERED_EVENT_BITS` mask and and it to the 
>> `NEED_THREAD_LIFE_EVENTS` mask
>>  - `jvmtiExport.cpp`: rearrangements in the 
>> `JvmtiExport::post_vthread_start()` function
>> 
>> The fix also includes a couple of minor unification tweaks:
>>  - to align `JvmtiExport::post_thread_end()` with 
>> `JvmtiExport::post_vthread_end()` to have a unified check for the 
>> `JVMTI_PHASE_PRIMORDIAL`.
>>  -  to rename the local variable `cur_thread` as `thread` to follow the 
>> common pattern in `JvmtiExport::post_vthread_start()` and 
>> `JvmtiExport::post_vthread_end()`
>>  
>>  Testing: ran mach5 tiers 1-6. All tests are passed.
>
> Serguei Spitsyn has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   review: convert check for is_hidden_from_external_view check() into assert

src/hotspot/share/prims/jvmti.xml line 13044:

> 13042: 
> 13043:  <event label="Virtual Thread Start"
> 13044:          id="VirtualThreadStart" 
> const="JVMTI_EVENT_VIRTUAL_THREAD_START" num="87" phase="start" since="21">

Does "filtered" mean that the event can be enabled or disabled on a per thread 
basis, and therefore by removing this it means the event can only be enabled or 
disabled globally?

src/hotspot/share/prims/jvmtiExport.cpp line 1581:

> 1579:   assert(!thread->is_hidden_from_external_view(), "carrier threads 
> can't be hidden");
> 1580: 
> 1581:   // Do not post virtual thread start event for hidden java thread.

Why would we ever have a hidden virtual thread? Also, why is this comment here. 
It is also below, which seems to be the more appropriate location.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16019#discussion_r1349381024
PR Review Comment: https://git.openjdk.org/jdk/pull/16019#discussion_r1349379751

Reply via email to