[lworld] RFR: 8373864: [lworld] Hide and rename InstanceKlassFixedBlock [v3]
Stefan Karlsson
stefank at openjdk.org
Wed Dec 17 14:48:34 UTC 2025
On Wed, 17 Dec 2025 14:09:12 GMT, Stefan Karlsson <stefank at openjdk.org> 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?
>
> Stefan Karlsson has updated the pull request incrementally with one additional commit since the last revision:
>
> Further clarification of Members
Thanks for reviewing! No new failures with Tier1-3 on Linux & Win.
-------------
PR Comment: https://git.openjdk.org/valhalla/pull/1812#issuecomment-3665686542
More information about the valhalla-dev
mailing list