Reviewed. I sympathize with Paul's "gnarly" comment.
Nice bit of stream-ology (rheology) in the test code. Regarding: > On Dec 2, 2014, at 8:20 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> > wrote: >> >> In src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java >> >> 366 lambdaForm.transformCache = c = ta; >> >> Do you need to set "c"? It's a local variable and by this point the method >> should return rather than loop. > I did it mostly as a cleanup. Now I think that it doesn't help much. Removed > (+ similar change in another place). The "c = " bit can be viewed as a bug-stopper. It prevents a later expression (if introduced in a future change) from accidentally using 'c' and getting an out-of-date value. A better bug-stopper would be a declaration that "c is dead as of this point, and cannot be used any more", but the language does not support that. I don't mind seeing the assignment deleted. — John > On Dec 1, 2014, at 8:58 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> > wrote: > > http://cr.openjdk.java.net/~vlivanov/8057020/webrev.00/ > https://bugs.openjdk.java.net/browse/JDK-8057020