On Thu, 4 Apr 2024 09:45:58 GMT, Stefan Karlsson <[email protected]> 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.
This pull request has now been integrated.
Changeset: 71d48bcc
Author: Stefan Karlsson <[email protected]>
URL:
https://git.openjdk.org/jdk/commit/71d48bcc3d6313ab4bd031b5e50ae3a16338abc8
Stats: 126 lines in 29 files changed: 0 ins; 2 del; 124 mod
8329655: Cleanup KlassObj and klassOop names after the PermGen removal
Reviewed-by: rkennke, coleenp
-------------
PR: https://git.openjdk.org/jdk/pull/18618