trying to understand inlining

Thomas Wuerthinger thomas.wuerthinger at
Fri Jun 1 04:07:03 PDT 2012

Graal does not (yet) support invokedynamic. At the moment we are more 
focused on support for multi-language execution that goes beyond adding 
a new Java bytecode. We plan to present our research results in this 
area at this year's JVM language summit.

The two interfaces InliningPolicy and WeightComputationPolicy are 
definitely a good place to start when experimenting with customized 
inlining. Generally, changes of those policies have a big influence on 
our benchmark results (both for Java and Scala). You can also make a 
custom compiler phase (by extending the Phase class) that performs 
certain inlines manually (e.g., by calling InliningUtil.inline).

- thomas

On 01.06.2012 12:05, Garcia Gutierrez Miguel Alfredo wrote:
> I'm exploring Graal, starting with transformations like inlining which should ring a bell. However after working my way from GraphBuilderPhase to InliningUtil I couldn't find how MethodHandles are processed (the main reason to pick MethodHandles has been just to start somewhere).
> So far I've noticed MH-related functionality is enabled via
>     mx vm -XX:+UnlockDiagnosticVMOptions -XX:+EnableInvokeDynamic
> but haven't found so far Graal-specifics about them.
> Looking at InliningPolicy is also on my ToDo list, it would be great to hear experience reports about the effects of different (maybe language-specific?) inlining policies.
> Miguel
> --
> Miguel Garcia
> Swiss Federal Institute of Technology
> EPFL - IC - LAMP1 - INR 328 - Station 14
> CH-1015 Lausanne - Switzerland

More information about the graal-dev mailing list