On Nov 12, 2015, at 6:13 AM, Claes Redestad <claes.redes...@oracle.com> wrote: > > > On 2015-11-12 01:10, John Rose wrote: >> For better maintainability, I think the zero and identity forms should be >> created together, not in separate twin code blocks. >> >> I think this is a safer, saner way to inject laziness here: >> >> - private static void createIdentityForms() { >> + // Create LF_zero, LF_identity, etc., for the given type. >> + private static void createIdentityForms(BasicType type) { >> >> It means that groups of LFs get lazily created; if that is tolerable for the >> present purpose, it's easier to reason about. >> >> — John > > How about this: > > http://cr.openjdk.java.net/~redestad/8142487/webrev.02 > <http://cr.openjdk.java.net/~redestad/8142487/webrev.02>
Yes, that's fine. > I'm seeing no increase in number of LambdaForms or NamedFunctions created by > merging it all back into one method, while getting rid of MN_* arrays. Good deal. > I fixed the obvious mistake in sun.invoke.util.WrapperTest w.r.t byte/char, > and since these tests fail against JDK-8141678 I wouldn't mind keeping it > around. OK, if it found a bug it has earned its place. — John