> 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
On Wed, 10 May 2023 23:41:07 GMT, Alex Menkov wrote:
>> 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;
>> - s
On Wed, 10 May 2023 23:41:07 GMT, Alex Menkov wrote:
>> 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;
>> - s
On Wed, 10 May 2023 23:41:07 GMT, Alex Menkov wrote:
>> 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;
>> - s
> 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
On Mon, 8 May 2023 21:32:54 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Mon, 8 May 2023 21:32:54 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Sat, 6 May 2023 09:11:51 GMT, Serguei Spitsyn wrote:
>> Alex Menkov has updated the pull request incrementally with three additional
>> commits since the last revision:
>>
>> - cosmetic changes in libVThreadStackRefTest.cpp
>> - collect VT stack references if initial_object is null
>> - m
On Sat, 6 May 2023 09:35:28 GMT, Serguei Spitsyn wrote:
>> I mean the pieces of the code that set and use
>> _is_top_frame/_last_entry_frame are close so it's easier to see the logic
>
> I'd say that it will be even better to find out what are manipulations with
> these instance fields. They ar
> 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
> 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
On Fri, 5 May 2023 22:32:59 GMT, Alex Menkov wrote:
>> Sorry, I do not see how this improves readability.
>> Big functions with many layered conditions do not improve readability.
>
> I mean the pieces of the code that set and use
> _is_top_frame/_last_entry_frame are close so it's easier to see
On Fri, 5 May 2023 23:03:38 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Fri, 5 May 2023 23:03:38 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Fri, 5 May 2023 05:59:49 GMT, Serguei Spitsyn wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Updated test
>
> test/hotspot/jtreg/serviceability/jvmti/vthread/FollowReferences/libVThreadStackRefTest.cpp
> line 3
> 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
On Fri, 5 May 2023 05:48:04 GMT, Serguei Spitsyn wrote:
>> JNI local reporting uses this tricky _is_top_frame/_last_entry_frame stuff
>> I think it would be better to have it in the main do_frame method for better
>> readability
>
> Sorry, I do not see how this improves readability.
> Big functi
> 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
On Thu, 4 May 2023 23:20:21 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Thu, 4 May 2023 23:20:21 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Thu, 4 May 2023 20:55:46 GMT, Alex Menkov wrote:
>> It'd be nice to do even more factoring + renaming.
>> The lines 2326-2345 can be refactored to a function:
>>
>> bool StackRootCollector::report_native_frame_refs(jmethodID method) {
>> _blk->set_context(_thread_tag, _tid, _depth, meth
On Tue, 2 May 2023 09:46:30 GMT, Serguei Spitsyn wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Added "no continuations" test case
>
> test/hotspot/jtreg/serviceability/jvmti/vthread/FollowReferences/VThreadStackRe
> 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
> 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
> 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
On Thu, 4 May 2023 01:55:28 GMT, Serguei Spitsyn wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> feedback
>
> src/hotspot/share/prims/jvmtiTagMap.cpp line 2893:
>
>> 2891: HandleMark hm(current_thread);
>> 2892:
On Thu, 4 May 2023 01:44:36 GMT, Serguei Spitsyn wrote:
>> refactored.
>
> It'd be nice to do even more factoring + renaming.
> The lines 2326-2345 can be refactored to a function:
>
> bool StackRootCollector::report_native_frame_refs(jmethodID method) {
> _blk->set_context(_thread_tag, _t
> 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
On Thu, 4 May 2023 01:53:10 GMT, Serguei Spitsyn wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> feedback
>
> src/hotspot/share/prims/jvmtiTagMap.cpp line 2231:
>
>> 2229:
>> 2230: // Helper class to collect/repor
On Wed, 3 May 2023 22:04:37 GMT, Alex Menkov wrote:
>> src/hotspot/share/prims/jvmtiTagMap.cpp line 2319:
>>
>>> 2317: }
>>> 2318: }
>>> 2319: }
>>
>> The fragments 2289-2303 and 2305-2319 are based on the
>> `StackValueCollection` and look very similar.
>> It can be wo
On Wed, 3 May 2023 22:02:30 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Tue, 2 May 2023 10:10:32 GMT, Serguei Spitsyn wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Added "no continuations" test case
>
> src/hotspot/share/prims/jvmtiTagMap.cpp line 2245:
>
>> 2243: bool is_top_fr
> 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
On Mon, 1 May 2023 18:26:30 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Mon, 1 May 2023 18:26:30 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Mon, 1 May 2023 18:26:30 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Mon, 1 May 2023 18:26:30 GMT, Alex Menkov wrote:
>> 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;
>> - st
On Mon, 1 May 2023 18:26:30 GMT, Alex Menkov wrote:
>> 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;
>> - st
> 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
> 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
On Wed, 12 Apr 2023 14:55:59 GMT, Alan Bateman wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Fixed indent in collect_vthread_stack_roots
>
> In the spec for FollowReferences, it says that the heap roots include
>
On Wed, 12 Apr 2023 01:12:49 GMT, Alex Menkov wrote:
>> The fix updates JVMTI FollowReferences implementation to report references
>> from virtual threads:
>> - unmounted vthreads are detected and reported as
>> JVMTI_HEAP_REFERENCE_THREAD;
>> - stack references for unmounted VT are reported as
On Wed, 12 Apr 2023 14:55:59 GMT, Alan Bateman wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Fixed indent in collect_vthread_stack_roots
>
> In the spec for FollowReferences, it says that the heap roots include
>
On Wed, 12 Apr 2023 14:55:59 GMT, Alan Bateman wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Fixed indent in collect_vthread_stack_roots
>
> In the spec for FollowReferences, it says that the heap roots include
>
On Wed, 12 Apr 2023 14:55:59 GMT, Alan Bateman wrote:
> In the spec for FollowReferences, it says that the heap roots include
> "references from thread stacks". There is a similar sentence in the
> deprecated IterateOverReachableObjects function. We should decide whether
> these sentences need
On Wed, 12 Apr 2023 01:12:49 GMT, Alex Menkov wrote:
>> The fix updates JVMTI FollowReferences implementation to report references
>> from virtual threads:
>> - unmounted vthreads are detected and reported as
>> JVMTI_HEAP_REFERENCE_THREAD;
>> - stack references for unmounted VT are reported as
On Wed, 12 Apr 2023 04:05:07 GMT, Alex Menkov wrote:
> current logic does not follow their stack references
Okay that needs to be fixed then. Apologies if that is what you already were
doing.
-
PR Comment: https://git.openjdk.org/jdk/pull/13254#issuecomment-1504587109
On Wed, 12 Apr 2023 02:17:14 GMT, David Holmes wrote:
> If an object is only reachable from the stack of a VT and the VT itself is
> not followed then we don't find that object either. But as I said a VT should
> be found via the object it is parked on, or via the scheduler. So is it the
> cas
On Tue, 11 Apr 2023 18:54:09 GMT, Alex Menkov wrote:
> The bug is about objects referenced only from stack of unmounted VT are not
> reported by FollowReferences.
> So we need to detect stackChunk object and report references from them.
If an object is only reachable from the stack of a VT and
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and carrier thread stack), references are reported with corre
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and carrier thread stack), references are reported with corre
On Tue, 11 Apr 2023 03:07:04 GMT, David Holmes wrote:
> Seems to me the bug report is asking for unmounted virtual threads to be
> considered roots - but virtual threads are deliberately not roots. Any
> unmounted virtual thread should be reachable from either the scheduler or
> whatever objec
On Fri, 7 Apr 2023 04:51:36 GMT, Alex Menkov wrote:
>> The fix updates JVMTI FollowReferences implementation to report references
>> from virtual threads:
>> - added heap scanning to report unmounted vthreads;
>> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
>> an
On Fri, 7 Apr 2023 02:27:59 GMT, Leonid Mesnik wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> trailing spaces
>
> test/hotspot/jtreg/serviceability/jvmti/vthread/FollowReferences/libVThreadStackRefTest.cpp
> line
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and carrier thread stack), references are reported with corre
On Fri, 7 Apr 2023 02:25:43 GMT, Alex Menkov wrote:
>> The fix updates JVMTI FollowReferences implementation to report references
>> from virtual threads:
>> - added heap scanning to report unmounted vthreads;
>> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
>> an
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and carrier thread stack), references are reported with corre
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and carrier thread stack), references are reported with corre
On Thu, 6 Apr 2023 18:53:59 GMT, Alan Bateman wrote:
> FollowReferences is a graph walk so it will visit the reachable virtual
> Threads. If I'm not mistake, VThreadClosure will iterate over unreachable
> Virtual Thread objects. That might be okay as they should be terminated and
> thus not ha
On Thu, 6 Apr 2023 18:17:29 GMT, Alex Menkov wrote:
> Correct. I don't see other way to find unmounted threads
FollowReferences is a graph walk so it will visit the reachable virtual
Threads. If I'm not mistake, VThreadClosure will iterate over unreachable
Virtual Thread objects. That might be
On Thu, 6 Apr 2023 14:03:50 GMT, Alan Bateman wrote:
> Do I read it correctly that the entire heap is walked to find the unmounted
> virtual threads?
Correct. I don't see other way to find unmounted threads
-
PR Comment: https://git.openjdk.org/jdk/pull/13254#issuecomment-14994465
On Wed, 5 Apr 2023 21:09:09 GMT, Alex Menkov wrote:
>> The fix updates JVMTI FollowReferences implementation to report references
>> from virtual threads:
>> - added heap scanning to report unmounted vthreads;
>> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
>> an
On Wed, 5 Apr 2023 20:25:39 GMT, Chris Plummer wrote:
>> Alex Menkov has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> aree -> are
>
> test/hotspot/jtreg/serviceability/jvmti/vthread/FollowReferences/VThreadStackRefTest.java
> line 43:
>
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and carrier thread stack), references are reported with corre
On Thu, 30 Mar 2023 22:58:12 GMT, Alex Menkov wrote:
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and ca
On Mon, 3 Apr 2023 23:11:49 GMT, Chris Plummer wrote:
>> The fix updates JVMTI FollowReferences implementation to report references
>> from virtual threads:
>> - added heap scanning to report unmounted vthreads;
>> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
>>
On Thu, 30 Mar 2023 22:58:12 GMT, Alex Menkov wrote:
> The fix updates JVMTI FollowReferences implementation to report references
> from virtual threads:
> - added heap scanning to report unmounted vthreads;
> - stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
> and ca
The fix updates JVMTI FollowReferences implementation to report references from
virtual threads:
- added heap scanning to report unmounted vthreads;
- stacks of mounted vthreads are splitted into 2 parts (vittual thread stack
and carrier thread stack), references are reported with correct thread
68 matches
Mail list logo