RFR: 8329655: Cleanup KlassObj and klassOop names after the PermGen removal
Stefan Karlsson
stefank at openjdk.org
Thu Apr 4 12:11:10 UTC 2024
On Thu, 4 Apr 2024 09:55:38 GMT, Roman Kennke <rkennke at 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.
>
> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 1202:
>
>> 1200: ldrw(scan_temp, Address(recv_klass, Klass::vtable_length_offset()));
>> 1201:
>> 1202: // %%% Could store the aligned, prescaled offset in the klassoop.
>
> Unrelated, but what's the point of the %%% in all those comments? Might want to remove that, while you're there.
I think it is an old-style TODO. I'm considering if we shouldn't just remove these comments. What do people think about that?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18618#discussion_r1551548890
More information about the hotspot-dev
mailing list