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
