Also instead of
  MethodVisitor mv = cw.visitMethod(ACC_PRIVATE | ACC_STATIC, "invoke_V",
                         
"(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;",
                          null, new String[] { "java/lang/Throwable" });

because the code is never read by a java compiler (as javac), you don't need to 
specify the exception
(checked exceptions are a Java the language artifact)
  MethodVisitor mv = cw.visitMethod(ACC_PRIVATE | ACC_STATIC, "invoke_V",
                          
"(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;",
                          null, null);

my 2 cents,
Rémi

----- Mail original -----
> De: "Vladimir Ivanov" <vladimir.x.iva...@oracle.com>
> À: "shilpi rastogi" <shilpi.rast...@oracle.com>
> Cc: core-libs-dev@openjdk.java.net
> Envoyé: Vendredi 13 Mai 2016 15:41:33
> Objet: Re: RFR[9]:Fix java/lang/invoke/MethodHandleImpl's use of      
> Unsafe.defineAnonymousClass()
> 
> MethodHandle vamh = prepareForInvoker(MH_checkCallerClass);
>      Object ok = bccInvoker.invokeExact(vamh, new Object[]{hostClass, bcc});
> +   assert Boolean.TRUE.equals(ok) : ok;
> 
> What I meant is to convert the whole test (inside try-catch block) into
> an assert.
> 
> 
> +            UNSAFE.ensureClassInitialized(bcc);
> 
> Do people see any reason to force invoker class init? I'd prefer to see
> it goes away.
> 
> Also, as a second thought, generateInvokerTemplate() looks clearer than
> invokerTemplateGenerator().
> 
> Something like the following:
>    http://cr.openjdk.java.net/~vlivanov/8149574/webrev.00/
> 
> Additional cleanup: checkCallerClass() should return injected invoker
> class when invoked using a method handle, so no need in 2nd argument.
> 
> Best regards,
> Vladimir Ivanov
> 
> On 5/13/16 11:56 AM, shilpi.rast...@oracle.com wrote:
> > Thanks Paul!
> >
> > Please review http://cr.openjdk.java.net/~srastogi/8149574/webrev10.0/
> >
> > Regards,
> > Shilpi
> >
> > On 5/13/2016 2:09 PM, Paul Sandoz wrote:
> >> assert Boolean.TRUE.equals(ok) : ok;
> >
> 

Reply via email to