Initial RFR: 8187302: [Nestmates] Prepare for classfile version 54 and javac "release" update

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Sep 7 14:59:08 UTC 2017


As discussed individually, I believe that bumping classfile version (or 
source version) is not something that an experimental branch should do. 
The risk of doing so is that multiple developers will be doing the same 
change (perhaps in slightly incompatible ways) and create an integration 
hell.

So I believe it would be best to assume that any given experimental 
branch adds some experimental behavior on top of the latest version 
(whatever that is at a given point in time). If certain features need to 
be constrained further (see MVT, where we don't want all classfiles to 
be able to exploit value opcodes), minor version can be used for that 
purpose.

When it's time to target a specific JDK N, I think the work to setup 
appropriate source/version numbers should happen in the upstream repo; 
once that's settled, changes will flow onto the branches - which will 
then changed to target the desired version number. Then a patch for the 
branch is extracted and pushed upstream (after due review, etc.).

I would not be surprised if, now that we're moving to a more regular 
release cadence, some of these tasks (update classfile version/source 
version) would be automated and automatically applied after a new 
version has 'forked off'.

Maurizio


On 07/09/17 14:20, Karen Kinnear wrote:
> 10 is planning to bump to 54 for condy
>
> Karen
>
>> On Sep 7, 2017, at 6:48 AM, David Holmes<david.holmes at oracle.com>  wrote:
>>
>> Hi Remi,
>>
>> On 7/09/2017 7:39 PM, Remi Forax wrote:
>>> Hi David,
>>> Having 10 -> v53 and 11 -> v54 is weird,
>> How is that weird? I just incremented the value. If it turns out that 10 needs to bump to 54 then I'd bump 11 to 55.
>>
>>> perhaps, --release 99 is better than release 11.
>> ???
>>
>> David
>>
>>> Rémi
>>> ----- Mail original -----
>>>> De: "David Holmes"<david.holmes at oracle.com>
>>>> À: "valhalla-dev"<valhalla-dev at openjdk.java.net>
>>>> Envoyé: Jeudi 7 Septembre 2017 10:54:04
>>>> Objet: Initial RFR: 8187302: [Nestmates] Prepare for classfile version 54 and javac "release" update
>>>> webrev:http://cr.openjdk.java.net/~dholmes/8187302/webrev/
>>>>
>>>> (please ignore the two hotspot test changes)
>>>>
>>>> This changes prepares for switching to release 11 and classfile version
>>>> 54 so that I can put classfile version checks where needed, and compile
>>>> tests the right way, where needed.
>>>>
>>>> Initially the default remains release 10 and v53, but --release 11 can
>>>> be used to explicitly use v54.
>>>>
>>>> I think I have found everything that needs updating to allow use of
>>>> release 11 and v54 classfiles.
>>>>
>>>> Testing so far is minimal: javac Foo.java -> v53
>>>>                             javac --release 11 Foo.java -> v54
>>>>
>>>> langtools/tools/javac testing also conducted.
>>>>
>>>> Thanks,
>>>> David




More information about the valhalla-dev mailing list