On Tue, 2 Sep 2025 04:56:50 GMT, David Holmes <[email protected]> wrote:
>> Ioi Lam has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Added assert in heapInspection.cpp
>
> src/hotspot/share/memory/heapInspection.cpp line 405:
>
>> 403: bool
>> print_subclasses) {
>> 404: // Set do_print for all superclasses of this class.
>> 405: InstanceKlass* super = InstanceKlass::cast(cie->klass())->super();
>
> Pre-existing, but if this cast is safe then `KlassInfoEntry::_klass` should
> be declared `InstanceKlass`. Otherwise this cast is not safe! Separate RFE
> for that.
I looked at the `KlassHierarchy` code and it looks at only instance klasses.
https://github.com/openjdk/jdk/blob/80fb7088a10136080d23ea93b4840f17d738500c/src/hotspot/share/memory/heapInspection.cpp#L318-L319
I added an assert to make this more apparent.
The `KlassInfoEntry` is used by other code that could sometimes store a
non-instance klass. I'll leave it as is for now.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27037#discussion_r2317161232