> In the virtual thread implementation, thread identity switches to the carrier 
> before freezing and switches back to the virtual thread after thawing. This 
> was a forced move due to issues getting JVMTI to work with virtual threads. 
> JVMTI can now hide events during transitions so we can invert the sequence 
> back to mounting before running the continuation, unmounting after freezing, 
> and re-mounting after thawing. This sequence is important for future changes 
> that will initiate the freezing from the VM.
> 
> The change requires an update to the JFR thread sampler to skip sampling when 
> it samples during a transition.
> 
> Testing: tier1-5

Alan Bateman has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains eight additional commits since 
the last revision:

 - Drop changes to sampler, move transition check to JfrThreadLocal::is_vthread
 - Merge
 - Restore @ChangesCurrentThread to run(Runnable)
 - Move transition check to JfrVframeStream ctor
 - Merge
 - Check for transition during stack walk for synchronous case
 - Merge
 - Initial commit

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15492/files
  - new: https://git.openjdk.org/jdk/pull/15492/files/507ae919..309dddf2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15492&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15492&range=02-03

  Stats: 8630 lines in 351 files changed: 4519 ins; 1766 del; 2345 mod
  Patch: https://git.openjdk.org/jdk/pull/15492.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15492/head:pull/15492

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

Reply via email to