RFR: JDK-8316691: Heap dump: separate stack traces for mounted virtual threads [v3]
Alex Menkov
amenkov at openjdk.org
Wed Oct 4 01:27:55 UTC 2023
On Tue, 3 Oct 2023 23:15:52 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
> I wonder why the `enterSpecial` frame is not present in mounted virtual thread stack trace case with the fix: `[6] jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V (Continuation.java:(native method))`
I used the same logic to split stack traces as ThreadStackTrace::dump_stack_at_safepoint (it was added with VT integration, it's used, for example by VM_ThreadDump).
My understanding that enterSpecial is considered as a special frame which is not belongs to VT stack trace
@AlanBateman could you please comment if my understanding is correct.
> src/hotspot/share/services/heapDumper.cpp line 1559:
>
>> 1557: // Dumps a HPROF_GC_ROOT_JAVA_FRAME subrecord for each local
>> 1558: // Dumps a HPROF_GC_ROOT_JNI_LOCAL subrecord for each JNI local
>> 1559: // Returns the number of Java frames in this thread stack
>
> Q: Is this line of comment just wrong and a leftover from an old version of the fix? Function does not return anything, right?
This comment is from old "int VM_HeapDumper::do_thread"
Will remove it with next commit
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15869#issuecomment-1745983481
PR Review Comment: https://git.openjdk.org/jdk/pull/15869#discussion_r1345046392
More information about the hotspot-runtime-dev
mailing list