Hi Andrew, Thank you for the link to the fix discussion. I see the point. Sections of the JLS dedicated to inferring type arguments have been changed for Java 7, and 6650759 implements (fully or partially) these changes. JBS says 6650759 is an enhancement, not a bug. Also, www.oracle.com/technetwork/java/javase/compatibility-417013.html mentions both 6638712 and 6650759 as a potential source of incompatibilities between JDK 6 and JDK 7.
From another side, we did extensive testing of the build of
{OpenJDK 6 + 6650759 backport} using all JDK 6 tests available
to us, both general and javac specific. We didn't find any
single failure caused by the backport. So, in practice we
don't see any indication of regressions or incompatibilities
caused by the backport, and such, honestly, we see no reason
for backing out the backport.
Please, let us know if you are aware of a test suite that
shows regressions or any kind of problems introduced by
this changeset.
Thanks,
Nikolay
On 01.07.2014 12:00, Andrew Haley wrote:
On 01/07/14 03:04, Andrew Hughes wrote:----- Original Message -----On 06/23/2014 02:30 PM, Ivan Krylov wrote:Andrew, thank you. Just pushed the changes. BTW, icedtea patches 6650759-missing_inference.patch and 6638712-wildcard_types.patch are now redundant. Also, the following bugs may be closed OPENJDK6-32,33,34,35. I would close those myself but I do not have the required permissions.Deepak Bhole has been doing some digging, and he found this: http://mail.openjdk.java.net/pipermail/jdk6-dev/2010-December/002195.html "For the javac changes, backporting 6638712 in and of itself would be fine; however, backporting 6650759 would be problematic since it implements a type-inference specification change in JDK 7. There are differences between the type inference behavior of javac in OpenJDK 6 and the propriety JDK this issue is one of them. The inference algorithm in OpenJDK 6 could be reworked a bit, but I don't expect the javac team to have cycles for that task in the near future." For that reason, I should not have approved this patch; it has already been rejected. I intend to back it out.Is this still the intention? Our live IcedTea builds, which build against the upstream OpenJDK 6 Mercurial tree, are currently failing and I don't want to waste time fixing that if the patch is going to be reverted again. There's a security update coming up, and thus a b32 release, so we need to make a decision ASAP.It seems to me that Joe Darcy's compatibility argument is sound, and this decision is clear. Is anyone aware of any reason why his reasoning no longer applies? Andrew.
