from static compiler to dynamic compiler
Thomas Wuerthinger
thomas.wuerthinger at oracle.com
Fri Mar 16 07:37:39 PDT 2012
Miguel,
We have not yet committed to a fixed public API for inlining or escape
analysis hints. In our last year's JVMLangSummit presentation
(http://medianetwork.oracle.com/video/player/1113230360001), we
suggested possible inlining hints on the granularity of
NEVER-LESS-MORE-ALWAYS. We hope that analyzing the requirements of
different languages running on the JVM (such as Scala) will help us
refine and stabilize this API. In general, we are very flexible as our
inlining and also our escape analysis is not done in combination with
bytecode parsing. Therefore, we do not need to make greedy decisions
upfront, but can use a priority queue in order to make sure that all of
the hot parts of a method get their fair share in terms of inlining budget.
One potential interesting annotation could also be to help the VM
identify megamorphic call sites such that the type profiling caches are
adjusted in size.
If you could provide us with some example Scala benchmarks, we would be
able to find out which of the potential ideas about compiler hint
annotations are actually beneficial in the context of Scala programs.
- thomas
On 15.03.2012 11:01, Garcia Gutierrez Miguel Alfredo wrote:
> Hi,
>
> I'm wondering what annotations (or attributes) the Graal VM accepts in bytecode, as hints about allowable optimizations. In particular "inline".
>
> Miguel
> http://lampwww.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/<http://lampwww.epfl.ch/%7Emagarcia/ScalaCompilerCornerReloaded/>
>
> --
> Miguel Garcia
> Swiss Federal Institute of Technology
> EPFL - IC - LAMP1 - INR 328 - Station 14
> CH-1015 Lausanne - Switzerland
> http://lamp.epfl.ch/~magarcia/
More information about the graal-dev
mailing list