[lworld] RFR: 8244227: [lworld] Explore an implementation where the reference projection and value projection types are backed by a single class symbol [v4]
Srikanth Adayapalam
sadayapalam at openjdk.java.net
Mon Apr 5 05:48:12 UTC 2021
> This PR overhauls the existing implementation/representation of reference projection types and the inline types so that both share the same underlying symbol, much like how an infinite family of parameterized types that originate from the same generic type are modelled using the same underlying symbol.
Srikanth Adayapalam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
- Merge branch 'lworld' into JDK-8244227
- Various changes to handle projections sharing a symbol/not having their own symbols
- Introducce another variant of Types.asSuper to operate on Type's so as not to confuse
reference projection types with value projection types in a world where they share the
same symbol.
- Nestmates and innerclasses attribute generation, classfile creation, signature management ...
- Genesis, construction, preservation and propagation of reference projection type
- Get out of the business of having to maintain the doppleganger symbol in sync with original
- In diagnostics and debug strings while mentioning projection types, use .ref/.val rather than $ref/$val
-------------
Changes:
- all: https://git.openjdk.java.net/valhalla/pull/375/files
- new: https://git.openjdk.java.net/valhalla/pull/375/files/406f61e6..42fefb15
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=375&range=03
- incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=375&range=02-03
Stats: 24 lines in 3 files changed: 22 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/valhalla/pull/375.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/375/head:pull/375
PR: https://git.openjdk.java.net/valhalla/pull/375
More information about the valhalla-dev
mailing list