On Tue, 9 May 2023 02:16:18 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:

>> The compatible lifecycle `ThreadStart/ThreadEnd` events were added in JDK 19 
>> to support legacy virtual thread unaware JVMTI agents which do not enable 
>> the can_support_virtual_threads capability. When this capability is enabled 
>> then the `VirtualThreadStart/VirtualThreadEnd` instead of the 
>> `ThreadStart/ThreadEnd` events are generated for virtual threads and can be 
>> managed (enabled/disabled) separately. If the the 
>> `can_support_virtual_threads` capability is disabled then the 
>> `ThreadStart/ThreadEnd` events are generated for virtual threads.
>> This enhancement is to get rid of the compatible lifecycle 
>> `ThreadStart/ThreadEnd` events.
>> Motivation: Performance overhead from compatible lifecycle events can be 
>> significant when a lot of virtual threads are created.
>> 
>> Also, there is an experimental VM flag 
>> `PostVirtualThreadCompatibleLifecycleEvents` (enabled by default).
>> If it is turned on then the default compatible lifecycle 
>> `ThreadStart/ThreadEnd` events for virtual threads are generated. This VM 
>> flag has to be removed now.
>> 
>> Testing:
>> The mach5 tiers 1-6 were submitted and passed.
>
> Serguei Spitsyn has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   minot tweaks in the VirtualThreadStartTest

Thank you for review, Chris!

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

PR Comment: https://git.openjdk.org/jdk/pull/13874#issuecomment-1541171461

Reply via email to