[lworld] RFR: 8376135: [lworld] Add JIT support for NULLABLE_NON_ATOMIC_FLAT layout [v5]

Frederic Parain fparain at openjdk.org
Fri Jan 30 15:21:14 UTC 2026


On Fri, 30 Jan 2026 09:14:56 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> Hi,
>> 
>> This PR implements the support of `NULLABLE_NON_ATOMIC_FLAT` layout in the JITs. There is nothing to do in C2. In C1, I need to implement loading/storing nullable value of a non-atomic field.
>> 
>> The test `TestValueClasses` is failing with `-XX:-TieredCompilation`, which I suspect is due to the substitutability test handling padding bytes incorrectly.
>> 
>> Please kindly review what there are for now, thanks a lot.
>
> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
> 
>   add assert

test/hotspot/jtreg/runtime/valhalla/inlinetypes/field_layout/ValueCompositionTest.java line 148:

> 146:     }
> 147:     FieldLayoutAnalyzer.FieldBlock f1 = cl.getFieldFromName("val1", false);
> 148:     Asserts.assertEquals(FieldLayoutAnalyzer.LayoutKind.NULLABLE_NON_ATOMIC_FLAT, f1.layoutKind());

I understand that this change is needed to make the test pass with now UseNullableNonAtomicValueFlattening being enabled by default, but the whole test should be in fact rewritten to support cases where nullable atomic and nullable non atomic layouts can be enabled or disabled. I've filed JDK-8376814 to track this issue.
Instead of rewriting the assert, could you just comment the problematic lines and put a comment referring to JDK-8376814? The same request applies to the other changes in this file.

-------------

PR Review Comment: https://git.openjdk.org/valhalla/pull/1970#discussion_r2746766516


More information about the valhalla-dev mailing list