Draft JEP: Incubating Language and VM Features

Alex Buckley alex.buckley at oracle.com
Mon Jan 22 23:14:43 UTC 2018


On 1/22/2018 2:49 PM, Remi Forax wrote:
> ----- Mail original -----
>> De: "Alex Buckley" <alex.buckley at oracle.com> Moving on, it appears
>> you want to ring-fence the minor_version item. You do not want it
>> to have a first-class meaning, even in new class files (SE 11 and
>> greater). Why not?
>
> because a lot of bytecode tools provide the version as an int to the
> applications that used them and not as a pair of major and minor
> versions, so those applications will break. The fact that the minor
> version is 0 since a long time is encoded in the assumption that
> classfile version == classfile major_version into a lot of codes.

This boils down to saying that we can never use minor_version for 
anything, because so many stacks assume minor_version is insignificant. 
OK, your point is clearly made.

I note that class files with incubating content might look very strange 
by ordinary standards. For example, super_class might point to a 
constant pool entry which is not a CONSTANT_Class_info, so there is no 
chance of pre-existing applications understanding a class hierarchy 
naively exposed by the bytecode tool. The protocol between the 
application and the tool would need some adjustment to support the class 
file's expanded definition of "superclass".

Any other comments on the JEP?

Alex


More information about the jdk-dev mailing list