On Tue, 9 May 2023 01:26:43 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.

This pull request has now been integrated.

Changeset: 2be1f10f
Author:    Serguei Spitsyn <sspit...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/2be1f10fec37057a4532fbbc3467b41240c4dba9
Stats:     72 lines in 6 files changed: 19 ins; 31 del; 22 mod

8307399: get rid of compatibility ThreadStart/ThreadEnd events for virtual 
threads

Reviewed-by: alanb, pchilanomate, cjplummer

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

PR: https://git.openjdk.org/jdk/pull/13874

Reply via email to