Call Targets Not Optimized

Cristian Esquivias cristian.esquivias at gmail.com
Sat Sep 17 07:54:01 UTC 2016


Thanks Chris, having it run longer did the trick. I disabled background
compilation and the program took forever (it's still running). Is there a
way to trigger compilation for my functions for small tests without having
to write infinite loops or blocking to compile every function?

- Cristian

On Sat, Sep 17, 2016 at 12:35 AM, Chris Seaton <chris.seaton at oracle.com>
wrote:

> Hi Christian,
>
> You run a loop 1000+ times, but then do you give it a chance to compile
> before the program exits? You’ve got background compilation enabled so the
> program won’t wait for compilation before it exits.
>
> Instead of running a loop 1000+ times, try making the loop infinite and
> running it for a few seconds to see what happens longer term.
>
> Try -Dgraal.TraceTruffleCompilation and -Dgraal.TraceTruffleCompilationDetails
> to see the compilation events printed as the program runs.
>
> Chris
>
> > On 17 Sep 2016, at 08:31, Cristian Esquivias <
> cristian.esquivias at gmail.com> wrote:
> >
> > I moved to a new system and downloaded the latest Graal VM from OTN to
> try
> > it out. When I ran IGV to see compilations none of my functions
> appeared. I
> > enabled the TruffleCallTargetProfiling and TruffleCompilationStatistics
> > flags and saw that none of my functions were optimized.
> >
> > Am I doing something wrong? I haven't changed my code, and I'm fairly
> > certain compilation was triggered on my old system (I don't have access
> to
> > it anymore).
> >
> > I think I set up Graal properly. I basically just call java from my
> > downloaded VM like I normally do. Here's the full command for reference.
> >
> > ~/lib/graalvm-0.16/bin/java
> > -Dgraal.TruffleCompilationStatistics=true
> > -Dgraal.TruffleCompilationExceptionsAreFatal=true
> > -Dgraal.TruffleCallTargetProfiling=true -Dgraal.Dump
> > -Dgraal.TruffleBackgroundCompilation=true -Djvmci.option.Dump -cp
> > $MUMBLER_LIB/antlr4-runtime-4.5.jar:$MUMBLER_LIB/lang.jar
> > mumbler.truffle.TruffleMumblerMain /tmp/inline-test.mumbler
> >
> > My test program is a simple recursive loop that adds a number 1000+ times
> > to trigger compilation. Nothing fancy.
> >
> > I tried to build graal per the instructions on GitHub but I get a
> > compilation error.
> >
> > Some of the output from the flags:
> >
> > Truffle compilation statistics:
> >  Compilations                                      : 0
> >    Success                                         : 0
> >    Failed                                          : 0
> >    Interrupted                                     : 0
> >  Invalidated                                       : 0
> >  Queues                                            : 7
> >  Dequeues                                          : 2
> >  Splits                                            : 0
> >  Compilation Accuracy                              : NaN
> >  Queue Accuracy                                    : 0.714286
> >  Compilation Utilization                           : 0.000000
> >  Remaining Compilation Queue                       : 6
> >
> > Call Target                                         | Total Calls     ||
> > Interp. Calls   | Opt. Calls      || Direct Calls    | Inlined Calls   |
> > Indirect Calls  || Invalidations
> >  [AddBuiltinNodeGen at 6e2c634b]                       |           26000 ||
> >        26000 |               0 ||           26000 |               0 |
> >          0 ||   0
> >  [EqualBuiltinNodeGen at 4b9af9a9]                     |           23005 ||
> >        23005 |               0 ||           23005 |               0 |
> >          0 ||   0
> >  [SubBuiltinNodeGen at 4d405ef7]                       |           23001 ||
> >        23001 |               0 ||           23001 |               0 |
> >          0 ||   0
> >
> > Thanks,
> > Cristian
>
>


More information about the graal-dev mailing list