[lworld] RFR: JDK-8293321: [lworld] substitutability test shall support value class with cyclic membership [v2]

Mandy Chung mchung at openjdk.org
Fri Oct 28 21:54:27 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.

Mandy Chung has updated the pull request incrementally with two additional commits since the last revision:

 - Add a test case of large graph throwing SOE
 - Add a node-visit counter and throw SOE if it exceeds the threshold

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/802/files
  - new: https://git.openjdk.org/valhalla/pull/802/files/00757be8..8b1e5508

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=802&range=01
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=802&range=00-01

  Stats: 192 lines in 2 files changed: 138 ins; 22 del; 32 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