On Mon, 26 Jan 2026 10:34:42 GMT, Axel Boldt-Christmas <[email protected]> 
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

Reply via email to