RFR: 8315373: Change VirtualThread to unmount after freezing, re-mount before thawing

Alan Bateman alanb at openjdk.org
Thu Aug 31 07:06:22 UTC 2023


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

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

Commit messages:
 - Initial commit

Changes: https://git.openjdk.org/jdk/pull/15492/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15492&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8315373
  Stats: 45 lines in 2 files changed: 10 ins; 16 del; 19 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


More information about the serviceability-dev mailing list