On Mon, 26 Jan 2026 08:43:40 GMT, Joel Sikström <[email protected]> wrote:
> Hello, > > Please refer to the JBS issue for a more detailed description of the > background of this change. In summary, I suggest we only keep the array of > InlineLayoutInfo for InstanceKlasses which need it, which are Klasses that > have fields that have been inlined. > > To make the transition to this easier, I suggest we change the following > properties in FieldLayoutBuilder: > > _has_inline_type_fields > _has_flattening_information > > to > > _has_inlineable_fields > _has_inlined_fields > > The `_has_inlineable_fields` property is only used for printing and > `_has_inlined_fields` is the property we expose out to the ClassFileParser, > telling us that this class has inlined fields, so the array of > InlineLayoutInfo must be "preserved" and is possible to read from. Hence, the > array is now only safe to access if `InstanceKlass::has_inlined_fields` is > true, or simply if the actual field being accessed is flat > (`fieldDescriptor::is_flat`). > > I only found one place (in ciReplay.cpp) where we access the array of > InlineLayoutInfo even though we might not have any inlined fields and only > fields that are inlineable. I've changed this to use the normal "reference" > path for fields that aren't flat. > > Testing: > * Oracle's tier1-5, hotspot_valhalla and jdk_valhalla This pull request has now been integrated. Changeset: 53c55318 Author: Joel Sikström <[email protected]> Committer: Paul Hübner <[email protected]> URL: https://git.openjdk.org/valhalla/commit/53c55318228dabef79be8939f50a3d686f752b3b Stats: 156 lines in 11 files changed: 75 ins; 28 del; 53 mod 8376221: [lworld] Do not store array of InlineLayoutInfo for all InstanceKlasses Reviewed-by: phubner, fparain ------------- PR: https://git.openjdk.org/valhalla/pull/1966
