> This patch turns the boolean flag `_flat_in_array` into a new `FlatInArray` > enum to properly define a (Boolean) lattice. This mainly allows us to cleanly > represent "maybe flat in array" and "not flat in array". The dedicated top > element is the dual of "maybe flat in array". > > To simplify the review and to better understand what the changes are, I added > code comments directly in the PR. > > Here is a high-level overview of the changes: > - `FlatInArray` enum to define a lattice for `flat_in_array`: > https://github.com/openjdk/valhalla/blob/6b1930c7b9a359223a998d0086a1326a9d7905e7/src/hotspot/share/opto/type.hpp#L1182-L1199 > - Updated `meet` operations accordingly. Needed to be careful when doing the > meet above the centerline. > - Added single `compute_flat_in_array()` method to properly compute the > `flat_in_array` property from the information we have when we need to set > flat in array newly (this was no properly done before). > - In `flatten_alias_type()`, we flatten to "maybe flat in array". > > #### Testing: > - t1-4 + valhalla-comp-stress > > Thanks for your feedback, > Christian
Christian Hagedorn has updated the pull request incrementally with one additional commit since the last revision: update description ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/1774/files - new: https://git.openjdk.org/valhalla/pull/1774/files/6b1930c7..bf5f2fe4 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1774&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1774&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/1774.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1774/head:pull/1774 PR: https://git.openjdk.org/valhalla/pull/1774
