RFR: 8281267: VM HeapDumper dumps array classes several times [v3]

Coleen Phillimore coleenp at openjdk.java.net
Thu Feb 17 00:48:05 UTC 2022


On Mon, 14 Feb 2022 13:05:52 GMT, Alex Menkov <amenkov at openjdk.org> wrote:

>> ClassLoaderDataGraph::classes_do description says:
>> // Walking classes through the ClassLoaderDataGraph include array classes.
>> So do_load_class callback should not dump arrays for the classes and dumper doesn't need to call Universe::basic_type_classes_do (array classes for primitive types are also reported by ClassLoaderDataGraph::classes_do)
>
> Alex Menkov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   reworked do_class_dump

This looks like a nice cleanup!  Thank you for the test and verification that the format is the same.  A couple of minor comments.

src/hotspot/share/services/heapDumper.cpp line 2003:

> 2001: 
> 2002:   // class ID
> 2003:   Klass* klass = k;

I don't think it's necessary to introduce the variable 'klass' since it's not a loop anymore.

src/hotspot/share/services/heapDumper.cpp line 2305:

> 2303:       ClassLoaderDataGraph::classes_do(&locked_dump_class);
> 2304:     }
> 2305:     Universe::basic_type_classes_do(&do_basic_type_array_class_dump);

If this is the last use of this function, you could remove this variant of this function from Universe.

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

Marked as reviewed by coleenp (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/7384


More information about the hotspot-runtime-dev mailing list