[lworld] RFR: 8376221: [lworld] Do not store array of InlineLayoutInfo for all InstanceKlasses [v4]
Paul Hübner
phubner at openjdk.org
Wed Jan 28 12:12:39 UTC 2026
On Mon, 26 Jan 2026 10:34:42 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:
>> Joel Sikström has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Exception check should really be an assert
>> - Move inlineable check to static helper
>
> src/hotspot/share/classfile/classFileParser.cpp line 6298:
>
>> 6296: if (klass != nullptr) {
>> 6297: if (klass->is_inline_klass()) {
>> 6298: set_inline_layout_info_klass(fieldinfo.index(), klass, CHECK);
>
> I think this is a property already precent in the code but this change made me reflect on this.
>
> What are the expected interactions for pre-loaded classes if we fail to load parse the class file which contains them. For example here if we have just resolved the pre-loaded class, and then get metaspace out of memory and stop loading this class file.
>
> Is this the correct (specification wise) interaction for partially failed class file parsing?
There's nothing from the specification point of view that enforces that a class and its pre-loaded (via `LoadableDescriptor`) classes must be all-or-nothing.
> Classes and interfaces mentioned by LoadableDescriptors may optionally be loaded when the referencing class is derived and created ([5.3.5](https://cr.openjdk.org/~dlsmith/jep401/jep401-20250926/specs/value-objects-jvms.html#jvms-5.3.5)), or during early stages of linking ([5.4](https://cr.openjdk.org/~dlsmith/jep401/jep401-20250926/specs/value-objects-jvms.html#jvms-5.4)).
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1966#discussion_r2736346139
More information about the valhalla-dev
mailing list