Updated phasing of Valhalla Value Types

Karen Kinnear 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:

L10:
  value class V
  V, V?: Open Issue: Mirrors: Maurizio
  Array Covariance
  Erased Generics
  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
  JVMTI
  Specs: JLS, JVMS: Dan Smith
    binary compatibility/source compatibility
  RefObject/ValObject/Nullable: Open Issues: Brian
  MH, VH
  javac, javap, bytecode API
  jasm
  Constable
  jshell
  validation (internal JDK library uses)
  Circularity

L20:
  Null-default
  Migration
    bridges: Proposal:Brian
      field bridges
      method bridges
  Inner Values

Timeframe unclear:
  Poxes: value type wrappers for primitives

L100:
  Specialization
    language model
    template classes
    migration
  generic methods


prototypes needed for L10:
array covariance
acmp (and performance measurements for new and non-value-type benchmarks)
serialization
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:
null-default
migration including JDK library sample
field and method bridges
some level of POC for generic specialization: TBD

corrections welcome,
thanks,
Karen


More information about the valhalla-dev mailing list