Model 3 classfile design document

Andrey Breslav andrey.breslav at
Mon Feb 1 05:44:59 UTC 2016

Another question on the "Generic Methods" section: does the proposed
encoding mean a new class file per generic method? Or is it purely about
"fake" class-like entries in the CP of the enclosing class?

On Mon, Feb 1, 2016 at 8:33 AM Andrey Breslav <andrey.breslav at>

> A question about these examples:
>    - R(Foo<raw>) = Class["Foo"] or ParameterizedType['L', "Foo", "_"]
>    - R(Foo<String>) = Class["Foo"] orParameterizedType['L', "Foo", "_"]
>    - R(Foo<int[]>) =ParameterizedType['L', "Foo", ArrayType[1, "I"]]
> Apparently, we want to preserve the information about int[], while we
> don't care about String. Why? Isn't int[] just a class, like String?
> On Fri, Jan 22, 2016 at 7:53 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>
>> --
> Andrey Breslav
> Project Lead of Kotlin
> JetBrains
> The Drive to Develop
Andrey Breslav
Project Lead of Kotlin
The Drive to Develop
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the valhalla-spec-experts mailing list