On Thu, 4 Apr 2024 09:55:38 GMT, Roman Kennke <rken...@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