[lworld] RFR: 8341771: [lworld] Heap dump recognizing new flat fields formats [v2]
Frederic Parain
fparain at openjdk.org
Thu Nov 6 14:38:40 UTC 2025
On Wed, 5 Nov 2025 21:50:58 GMT, Alex Menkov <amenkov at openjdk.org> wrote:
>> The fix re-implements flat object support in heap dumper.
>> New approach does not require changes in .hprof format.
>> Flat value objects are dumped as heap-allocated objects with generated ID.
>> For heap-allocated objects the ID is their address (oop), they are always aligned.
>> ID generator for flat objects uses unaligned values (so there is no conflicts with oops).
>>
>> HeapDump test was reimplemented (it was disabled for a long time)
>> Changes in hprof test lib were reverted (they are not needed anymore)
>>
>> testing: tier1..4,hs-tier5-svc
>
> Alex Menkov has updated the pull request incrementally with one additional commit since the last revision:
>
> removed T_FLAT_ELEMENT in StackRefDumper
src/hotspot/share/services/heapDumper.cpp line 1445:
> 1443: int type_size;
> 1444: if (type == T_OBJECT || type == T_FLAT_ELEMENT) {
> 1445: type_size = sizeof(address);
Array elements size is not always sizeof(address) for flat arrays (could be smaller or bigger).
The real size of the array elements can be retrieved using the element_byte_size() method in FlatArrayKlass.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1700#discussion_r2499197064
More information about the valhalla-dev
mailing list