Model 3 classfile design document

Brian Goetz brian.goetz at
Fri Jan 22 16:52:17 UTC 2016

Please find a document here:

that describes our current thinking for evolving the classfile format to 
clearly and efficiently represent parametric polymorphism.  The early 
concepts of this approach were outlined in my talk at JVMLS last year; 
this represents a refinement of those ideas, and a reasonable "stake in 
the ground" description of what seems the most sensible way to balance 
preserving parametric information in the classfile without imposing 
excessive runtime costs for loading specializations.

We're working on an updated compiler prototype which people will be able 
to play with soon (along with a formal model.)

Please ask questions!

Some things this document does not address yet:
  - How we deal with types implicit in the bytecodes (aload vs iload) 
and how they get specialized;
  - How we represent restricted methods in the classfile;
  - How we represent the wildcard type Foo<any>

More information about the valhalla-spec-observers mailing list