Updated phasing of Valhalla Value Types
karen.kinnear at oracle.com
Wed Apr 3 16:47:44 UTC 2019
We held some discussions last week in Burlington MA, with a focus on
generic specialization and future direction impacts on our next milestones.
A very brief summary of our current thinking and action items for writing proposals is below.
One important phasing is moving null-default value types and migrating value-based-classes to
null-default value types was moved out to L20, which is after the initial preview.
In addition, we are looking to rely on bridging to support migration.
We believe we need to work through design and prototype issues for both of the above
before making L10 available.
Summary of Valhalla offsite: March 25-29 2019 Burlington MA
Phases/AIs for Proposals:
value class V
V, V?: Open Issue: Mirrors: Maurizio
Identity operations (acmp): Open Issue: Dan Heidinga
Soul of Q: Open Issues: John Rose
Reflection: ties in with Mirrors issue: Maurizio
Serialization: Open Issues: Brian
Volatile - use site
Specs: JLS, JVMS: Dan Smith
binary compatibility/source compatibility
RefObject/ValObject/Nullable: Open Issues: Brian
javac, javap, bytecode API
validation (internal JDK library uses)
Poxes: value type wrappers for primitives
prototypes needed for L10:
acmp (and performance measurements for new and non-value-type benchmarks)
validation: internal use cases in JDK libraries without API impact - e.g. HashMap internals, etc.
circularity: autodetection and fall-back to non-flattening
prototypes needed during L10 timeframe:
migration including JDK library sample
field and method bridges
some level of POC for generic specialization: TBD
More information about the valhalla-dev