On Fri, 30 Jan 2026 15:31:56 GMT, Frederic Parain <[email protected]> wrote:

>> Quan Anh Mai has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   add assert
>
> src/hotspot/share/ci/ciField.hpp line 189:
> 
>> 187:   // accessed in a non-atomic manner. This method must not depend on 
>> the fact that the field cannot
>> 188:   // be accessed racily (e.g. it is a strict final field), as if the 
>> holder object is flattened
>> 189:   // as a field that is not strict final, this property is lost.
> 
> Thank you for this comment which makes this tricky point explicit.
> Question about C2 though, let's consider an identity object with a strict 
> final field that is flattened using the NULLABLE_NON_ATOMIC_FLAT layout, will 
> C2 consider the fields inside the flat field as constants?

I have added a more detailed explanation and the rationality behind the 
decision. For `NULLABLE_NON_ATOMIC_FLAT`, C2 will consider the whole field as 
constant, including its subfields.

> 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.

Got it, I simply disabled the flag in this test.

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

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

Reply via email to