> 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:

  some refactoring
  
  added StackRefCollector::process_frames;
  used single RegisterMap instance;
  used RegisterMap::WalkContinuation::include for RegisterMap;

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/13254/files
  - new: https://git.openjdk.org/jdk/pull/13254/files/4728afd8..25354ea1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13254&range=18
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13254&range=17-18

  Stats: 81 lines in 1 file changed: 31 ins; 40 del; 10 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

Reply via email to