On Wed, 25 Feb 2026 19:04:30 GMT, Joel Sikström <[email protected]> wrote:

>> Hello,
>> 
>> We should consider moving the enum ArrayProperties from ArrayKlass to its 
>> own class, ArrayProperties. In addition to making the code easier to read 
>> and understand, this allows us to have explicit setters/getters, replacing 
>> the bit-fiddling expressions that are used in many places. The 
>> ArrayProperties-specific methods in ArrayKlass have been moved to be methods 
>> in the new ArrayProperties class instead.
>> 
>> Perhaps the most controversial change in this PR is the removal of 
>> `ArrayKlass::ArrayProperties::DEFAULT` in favor of using a default 
>> constructor for ArrayProperties. The semantics are still the same, i.e., 
>> asking `.is_null_restricted()` or `.is_non_atomic()` will be false for the 
>> default constructed property. With this I've also removed the unused fields 
>> from ArrayProperties (DUMMY and comments).
>> 
>> I did consider using define macros to generate enum+getters+setters, but I 
>> opted for the stamped-out version instead.
>> 
>> Testing:
>> * Running through tier1-2
>
> Joel Sikström has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains nine commits:
> 
>  - Rework props check in ObjArrayKlass::klass_from_description
>  - Merge branch 'lworld' into JDK-8378000_array_properties
>  - Cleanups of earlier commits
>  - Merge branch 'lworld' into JDK-8378000_array_properties
>  - Semi-builder pattern for ArrayProperties
>  - Add assert to check for invalid flags/bits
>  - Change type to be consistent with compiler type
>  - Braces around if-statement
>  - 8378000: [lworld] Move ArrayProperties to its own class

Looks very good to me.
Thank you for all the improvements to this code.

Fred

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

Marked as reviewed by fparain (Committer).

PR Review: 
https://git.openjdk.org/valhalla/pull/2114#pullrequestreview-3856330404

Reply via email to