> 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