Draft JEP: Incubating Language and VM Features
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?
More information about the jdk-dev