[lworld] RFR: 8244227: [lworld] Explore an implementation where the reference projection and value projection types are backed by a single class symbol
Srikanth Adayapalam
sadayapalam at openjdk.java.net
Wed Mar 31 12:37:46 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.
-------------
Commit messages:
- 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
- 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: https://git.openjdk.java.net/valhalla/pull/375/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=375&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8244227
Stats: 540 lines in 28 files changed: 185 ins; 245 del; 110 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