[lworld] RFR: 8378000: [lworld] Move ArrayProperties to its own class [v5]
Frederic Parain
fparain at openjdk.org
Wed Feb 25 19:20:37 UTC 2026
On Wed, 25 Feb 2026 19:04:30 GMT, Joel Sikström <jsikstro at openjdk.org> 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
More information about the valhalla-dev
mailing list