[lworld] RFR: 8376221: [lworld] Do not store array of InlineLayoutInfo for all InstanceKlasses [v5]
Frederic Parain
fparain at openjdk.org
Thu Jan 29 20:51:43 UTC 2026
On Mon, 26 Jan 2026 10:20:53 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
>> Joel Sikström 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 11 additional commits since the last revision:
>>
>> - Merge branch 'lworld' into JDK-8376221_inlinelayoutinfo_array_optimization
>> - LayoutKind assertion for flat fields
>> - Remove mention of 'warning' in comment
>> - Exception check should really be an assert
>> - Move inlineable check to static helper
>> - Comment for second CLEAR_PENDING_EXCEPTION
>> - Clear exception before setting inline klass
>> - Split assert in field sorting methods
>> - IOOB assert message
>> - InstanceKlass instead of Klass for set_inline_layout_info_klass
>> - ... and 1 more: https://git.openjdk.org/valhalla/compare/7c7ac5ac...b934da63
>
> src/hotspot/share/classfile/classFileParser.cpp line 6341:
>
>> 6339: _must_be_atomic, _layout_info, _inline_layout_info_array);
>> 6340: lb.build_layout();
>> 6341: _has_inlined_fields = _layout_info->_has_inlined_fields;
>
> More of a questions to the long-time Valhalla devs: I'm a little curious why the parser has booth of these fields containing the same value?
Historical reasons. The _layout_info structure was added late, and the previous ways to handle inline fields information was not properly refactored.
The ClassFilerParser gets the _layout_info instance before creating the InstanceKlass instance and keeps it until the InstanceKlass instance has been fully initialized, so it is safe to refactor the code to remove ClassFileParser::_has_inline_fields and refactor ClassFilerParser::has_inline_fields() to return _layout_info->_has_inlined_fields.
Note: currently, the only client of ClassFilerParser::has_inline_fields() is the InstanceKlass constructor.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1966#discussion_r2743487176
More information about the valhalla-dev
mailing list