selective inlining of MH.invokeExact() callsites

Christian Thalinger christian.thalinger at oracle.com
Wed May 9 11:02:17 PDT 2012


On May 8, 2012, at 2:11 AM, Garcia Gutierrez Miguel Alfredo wrote:

> 
> What's the behavior of @ForceInlining , in particular for MethodHandle.invokeExact() ?

We introduced that annotation as an experiment for inlining exact invokers for LambdaForms (note:  LambdaForm is not directly related to Project Lambda).  The generated bytecode versions of these LFs are usually just argument shuffling or binding and calling the target.  We know that this code compiles down to almost nothing in native machine code and that's why we force them to inline.

The ForceInline annotation is a powerful tool which may produce bad results in the hands of costumers.  Currently we don't hide it completely from users but that might happen in the future.

-- Chris

> 
> The context for this question is ongoing brainstorming on a new compilation scheme for the Scala compiler:
> 
>  http://mail.openjdk.java.net/pipermail/graal-dev/2012-May/000038.html
>  http://mail.openjdk.java.net/pipermail/graal-dev/2012-May/000040.html
> 
>  https://groups.google.com/d/topic/jvm-languages/eEp3Z8tS8wo/discussion
> 
> 
> Miguel
> http://lampwww.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev



More information about the mlvm-dev mailing list