> The fix updates JVMTI FollowReferences implementation to report references > from virtual threads: > - unmounted vthreads are detected, their stack references for > JVMTI_HEAP_REFERENCE_STACK_LOCAL/JVMTI_HEAP_REFERENCE_JNI_LOCAL; > - stacks of mounted vthreads are splitted into 2 parts (virtual thread stack > and carrier thread stack), references are reported with correct thread > id/class tag/object tags/frame depth; > - common code to handle stack frames are moved into separate class; > > Threads are reported as: > - platform threads: JVMTI_HEAP_REFERENCE_THREAD (as before); > - mounted vthreads (synthetic references, consider them as heap roots because > carrier threads are roots): JVMTI_HEAP_REFERENCE_OTHER; > - unmounted vthreads: not reported as heap roots.
Alex Menkov has updated the pull request incrementally with one additional commit since the last revision: feedback ------------- Changes: - all: https://git.openjdk.org/jdk/pull/13254/files - new: https://git.openjdk.org/jdk/pull/13254/files/dd3be3b1..1e6ca207 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=13254&range=09 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13254&range=08-09 Stats: 87 lines in 1 file changed: 22 ins; 28 del; 37 mod Patch: https://git.openjdk.org/jdk/pull/13254.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/13254/head:pull/13254 PR: https://git.openjdk.org/jdk/pull/13254