[lworld] RFR: JDK-8293321: [lworld] substitutability test shall support value class with cyclic membership
Mandy Chung
mchung at openjdk.org
Fri Oct 28 17:22:08 UTC 2022
L-type allows cycles. `acmp` shall support value classes with cyclic membership. This PR adds the support in the Java implementation of `acmp` (i.e. `ValueObjectMethods::isSubstitutable`).
This patch includes [John's first cut to make a Y combinator method handle](https://github.com/openjdk/jdk/pull/10155) to enable a method handle to call itself recursively. PR 10155 is adequate for internal use for now. A separate RFE will follow to define such an API.
A separate issue [JDK-8296056](https://bugs.openjdk.org/browse/JDK-8296056) tracks the C2 `acmp` support.
-------------
Commit messages:
- add @ignore test for -Xcomp
- minor cleanup
- Support recursive data type for value class
- Merge branch 'lworld' of https://github.com/openjdk/valhalla into recursive-mh
- prototype
Changes: https://git.openjdk.org/valhalla/pull/802/files
Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=802&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8293321
Stats: 639 lines in 3 files changed: 623 ins; 7 del; 9 mod
Patch: https://git.openjdk.org/valhalla/pull/802.diff
Fetch: git fetch https://git.openjdk.org/valhalla pull/802/head:pull/802
PR: https://git.openjdk.org/valhalla/pull/802
More information about the valhalla-dev
mailing list