blog post on invokedynamic

Rémi Forax forax at univ-mlv.fr
Tue Feb 17 02:05:26 PST 2009


John Rose a écrit :
> I've posted a simple working "recipe" for an invokedynamic use case,  
> here:
>
>    http://blogs.sun.com/jrose/entry/simple_java_linkage_with_invokedynamic
>
> If you've tried to build the JVM from the indy.patch lately, you know  
> it is rather out of date.  I'm working to refresh that, so the blog  
> recipes can be easily run.  Please stay tuned...
>
> My goal is to validate the JSR 292 design by trying the reference  
> implementation on (what I hope are) a canonical set of use cases.
>
> I also want to work toward integrating JSR 292 with the next layer up,  
> probably Attila's MOP.
>
> Your suggestions would be welcome...
>
> Enjoy!
> -- John
>   
Hi John,
I've noticed that you don't say how the bootstrap method is found from a 
call site.

I wonder if the bootstrap method can not be encoded
directly in the invokedynamic bytecode instruction, using the empty slots
to encode a Method_Ref.

   38:  aload_1
   39:	invokedynamic	#9, #12; //NameAndType getName:(Ljava/io/File;)Ljava/lang/String;
                                 //Method bootstrapDynamic:(Ljava/dyn/CallSite;[Ljava/lang/Object;)Ljava/lang/Object
   44:	astore_3


Yo use an analogy, in Java there are differents method invocation semantics,
why not let the other language specify different kind of method 
invocation semantics
by allowing different bootstrap methods.

cheers,
Rémi





More information about the mlvm-dev mailing list