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

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

Commit messages:
 - 8378000: [lworld] Move ArrayProperties to its own class

Changes: https://git.openjdk.org/valhalla/pull/2114/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2114&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8378000
  Stats: 248 lines in 25 files changed: 104 ins; 39 del; 105 mod
  Patch: https://git.openjdk.org/valhalla/pull/2114.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2114/head:pull/2114

PR: https://git.openjdk.org/valhalla/pull/2114

Reply via email to