On Wed, 21 Oct 2026 21:30:16 GMT, Chris Plummer <[email protected]> wrote:
>> Yasumasa Suenaga has updated the pull request with a new target base due to
>> a merge or a rebase. The incremental webrev excludes the unrelated changes
>> brought in by the merge/rebase. The pull request contains four additional
>> commits since the last revision:
>>
>> - Re-enable HeapDumpTestWithActiveProcess.java
>> - Merge branch 'master' into JDK-8381370
>> - Use getFieldHolder() rather than getKlass()
>> - 8381370: SA is not writing out flattened fields to the hprof file
>
> src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java
> line 95:
>
>> 93: if (name.equals(javaLangThread))
>> {
>> 94: writeThread(instance,
>> flatObjects);
>> 95: return false;
>
> I'm not sure why an early return is done here, but the consequence is that
> the loop that drains flatObjects below is not executed, leaving references to
> flattened Objects that are never written out. You might want to add a test
> case for this if not too complicated.
I moved dumper for `flatObjects` to `finally` block in new commit. I have no
idea for testing because we cannot be sure `java.lang.Thread` could be a value
object.
BTW I'm not sure why this code work because this code seems to lack heap dump
epilogue even though `writeHeapRecordPrologue()` is called at first. I
confirmed ClhsdbDumpheap.java entered this block, but the test was passed
normally...
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/33395#discussion_r4344139176