Two remarks:

1. in DynamicMethodLinker.java, you could factor out the 

             return new 
GuardedInvocation(MethodHandles.dropArguments(invocation, 0,
                     desc.getMethodType().parameterType(0)), 
Guards.getIdentityGuard(receiver));

part that is appearing in both if and else branch to be outside of the if, 
guarded with if(invocation == null) (maybe adding an assert invocation != null 
in the constructor (else) branch if it must not be null in that case (as you 
aren't testing for it being null there).

2. OverloadedDynamicMethod could save the boolean flag by returning 
methods.getFirst().isConstructor(). Maybe assert in the OverloadedDynamicMethod 
constructor that all elements of "methods" return the same value for 
isConstructor().

Other than these, +1.

Attila.

On Jul 2, 2014, at 7:34 AM, A. Sundararajan 
<[email protected]> wrote:

> Please review http://cr.openjdk.java.net/~sundar/8043232/webrev.00/ for 
> https://bugs.openjdk.java.net/browse/JDK-8043232
> 
> Thanks,
> -Sundar

Reply via email to