On Fri, 23 Aug 2024 20:37:55 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:

>> src/hotspot/share/oops/klass.hpp line 214:
>> 
>>> 212:   virtual bool is_klass() const { return true; }
>>> 213: 
>>> 214:   bool is_in_klass_space() const { return !is_interface() && 
>>> !is_abstract(); }
>> 
>> This name is misleading. As a caller, I expect a function with this name to 
>> make a range check of Klass* to be inside class space range. This is more of 
>> a "should be".
>> 
>> (We also write class space with `c` throughout hotspot, its weird to have it 
>> with `k` now)
>> 
>> How about, instead: "needs_narrow_klass_id" or "must_be_narrow_encodable" or 
>> similar? That clearly says what you want, that this class needs to be 
>> encodable with a narrow id for whatever is your reason. This leaves room for 
>> future changes (e.g. a possible future where we need narrow klass ids for 
>> other reasons than to make heap objects smaller, or where there is no class 
>> space anymore).
>
> I renamed this is_in_class_space() with the lower case 'c'.  It's still 
> directing metaspace or indicating where the object was allocated.  Your name 
> is a little better but I think not enough until we want to expand the things 
> we want allocated in the class space.  As we talked about, with Tiny Class 
> Pointers, class space will have different things in it (not that these new 
> things need a compressed pointers).  But I think we're better off having less 
> things in the space where their pointers can be compressed since this space 
> is constrained.

I have to think about this more.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19157#discussion_r1729492034

Reply via email to