On Wed, 17 Dec 2025 10:21:24 GMT, Stefan Karlsson <[email protected]> wrote:

> Sub-classes of `InstanceKlass` can't have C++ fields because they would end 
> up overlayed on top of the vtable and other dynamically sized sections of the 
> `InstanceKlass` object.
> 
> To handle that the `InlineKlass` has a companion class named 
> `InlineKlassFixedBlock`, which lists all the member fields that belongs to 
> the InlineKlass, and an instance of that gets stamped into the `InlineKlass` 
> object after the parts that are provided by the `InstanceKlass`.
> 
> I propose a few changes:
> 
> 1) Move `InlineKlassFixedBlock` away from instanceKlass.hpp and place it 
> inside inlineKlass.hpp instead.
> 
> 2) Nest `InlineKlassFixedBlock` it inside `InlineKlass`. It's only 
> `InlineKlass `(and the compilers) that touch these fields, so it doesn't have 
> to be a public, top-level class.
> 
> 3) Rename it from `InlineKlassFixedBlock` to `InlineKlass::Members`. I think 
> that "fixed block" term is unclear and doesn't help the reader understand its 
> role in the `InlineKlass`. Hopefully, the name `Members` is a clearer.
> 
> WDYT?

This pull request has now been integrated.

Changeset: d586e57d
Author:    Stefan Karlsson <[email protected]>
Committer: Frederic Parain <[email protected]>
URL:       
https://git.openjdk.org/valhalla/commit/d586e57d7488461e808e7cb566586d7112b72dc6
Stats:     222 lines in 15 files changed: 98 ins; 53 del; 71 mod

8373864: [lworld] Hide and rename InstanceKlassFixedBlock

Reviewed-by: phubner, fparain

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

PR: https://git.openjdk.org/valhalla/pull/1812

Reply via email to