[lworld] RFR: 8373864: [lworld] Hide and rename InstanceKlassFixedBlock [v2]
Stefan Karlsson
stefank at openjdk.org
Wed Dec 17 13:07:44 UTC 2025
> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
- Fix null check
- Merge remote-tracking branch 'valhalla/lworld' into lworld_8373864_inline_klass_members
- 8373864: [lworld] Hide and rename InstanceKlassFixedBlock
-------------
Changes:
- all: https://git.openjdk.org/valhalla/pull/1812/files
- new: https://git.openjdk.org/valhalla/pull/1812/files/817757d4..8cc3c015
Webrevs:
- full: https://webrevs.openjdk.org/?repo=valhalla&pr=1812&range=01
- incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1812&range=00-01
Stats: 160 lines in 57 files changed: 59 ins; 13 del; 88 mod
Patch: https://git.openjdk.org/valhalla/pull/1812.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1812/head:pull/1812
PR: https://git.openjdk.org/valhalla/pull/1812
More information about the valhalla-dev
mailing list