Heads-up -- incompatible changes coming

Nick Williams nicholas+openjdk at nicholaswilliams.net
Thu Jul 11 17:08:05 PDT 2013


Two questions:

1) Do these changes only make those classes compiled with -target=1.8 incompatible, or do they make even those classes compiled -target=1.6 with the JDK8 compiler incompatible?
2) Do these changes only make those classes containing lambdas and/or method references incompatible, or do they also make even classes without lambdas/references incompatible?

Thanks in advance for clearing this up. Trying to figure out whether Spring Framework 4.0.M1 binaries will be affected.

Nick

On Jul 11, 2013, at 3:16 PM, Brian Goetz wrote:

> In the next week we are pushing two lambda-related changes that will be 
> binary-incompatible with classfiles compiled with earlier JDK 8 
> versions.  These are:
> 
> - Moving responsibility for bridge methods for default methods from 
> the VM to the compiler;
> - Changes to the lambda metafactory protocol.
> 
> Classes compiled with earlier JDK 8 compilers will need to be recompiled.
> 
> If you see stack traces with "BootstrapMethodError", or with 
> AbstractMethodError, you are likely being affected by these, and should 
> recompile.
> 
> These changes will likely go in as of the next build; I'll send out a 
> notice when we have exact details.
> 
> 



More information about the lambda-dev mailing list