Model 3 classfile design document

Ali Ebrahimi ali.ebrahimi1781 at
Sat Jan 23 10:45:40 UTC 2016

Excellent work.
I think there is typo in document:
 Method descriptor for List<long> m(List<int>):
 MethodDescriptor[1, ParamType['L', "List", "I"], ParamType['L', "List",

*Should not be this as:*

 MethodDescriptor[1, ParamType['L', "List", "J"], ParamType['L', "List",

On Fri, Jan 22, 2016 at 8:22 PM, Brian Goetz <brian.goetz at> wrote:

> 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>


Best Regards,
Ali Ebrahimi

More information about the valhalla-spec-observers mailing list