On Thu, 4 Apr 2024 12:18:24 GMT, Stefan Karlsson <stef...@openjdk.org> wrote:

>> We have a few places that uses the terms `KlassObj` and `klassOop` when 
>> referring to Klasses. This is old code from before the PermGen removal, when 
>> Klasses also were Java objects.
>> 
>> These names tripped me up when I was reading the heap heapInspection.cpp and 
>> first though we were mixing the klass *mirror* objects and klass pointers in 
>> the hash code calculation:
>> 
>>    // An aligned reference address (typically the least
>>    // address in the perm gen) used for hashing klass
>>    // objects.
>>    HeapWord* _ref;
>> ...
>> _ref = (HeapWord*) Universe::boolArrayKlassObj();
>> ...
>> uint KlassInfoTable::hash(const Klass* p) {
>>   return (uint)(((uintptr_t)p - (uintptr_t)_ref) >> 2);
>> }
>> 
>> 
>> I propose that we rename these functions (and stop casting the Klass* to a 
>> (HeapWord*)).
>> 
>> Tested with serviceability/dcmd/gc/ClassHistogramTest.java but will run this 
>> through our lower tiers.
>
> Stefan Karlsson has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Review Roman

This is good. The Obj was confusing.

src/hotspot/share/memory/heapInspection.hpp line 111:

> 109: 
> 110:   // An aligned reference address (typically the least
> 111:   // address in the perm gen) used for hashing klass

Rats I missed this.

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

Marked as reviewed by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18618#pullrequestreview-1979901207
PR Review Comment: https://git.openjdk.org/jdk/pull/18618#discussion_r1551690175

Reply via email to