TruffleSOM with SimpleLanguage-Style Call Caches

Chris Seaton chris at
Tue Dec 10 08:04:36 PST 2013

I use @SlowPath on any method that don't want inlined because I know due to
code size it's not worth inlining (but this is rare), or where I need
recursion (for example Ruby's puts method recurses into Arrays as it pretty
prints them). You say you've used it where you are returning a node, but if
you are returning nodes from methods you probably want to already be back
in the interpreter via SlowPathException or transferToInterpreter.

I'm not aware of any changes in heuristics of thresholds, sorry.


On 10 December 2013 15:51, Stefan Marr <java at> wrote:

> Hi:
> On 10 Dec 2013, at 16:02, Stefan Marr <java at> wrote:
> >> What's the difference between Unary, Binary and Ternary send nodes? Did
> you see a need to differentiate between them? They all have arrays of
> children, so it’s not removing the array indirection.
> >
> > I rely on the argument array for Binary and Ternary because Christian
> suggested it, and I think, it is not supposed to make a difference. But
> indeed, at the moment, it is rather pointless to have the array there.
> > I wasn’t able to unify more of the code, so, I could remove the
> indirection, and make the code slightly nicer.
> And removing that generalization fixes my issue with escaping frames :)
> But the result is really slow. I have seen better numbers previously.
> Fibonacci for instance was already 3x faster.
> Did any of the heuristics or thresholds change?
> Best regards
> Stefan
> --
> Stefan Marr
> Software Languages Lab
> Vrije Universiteit Brussel
> Pleinlaan 2 / B-1050 Brussels / Belgium
> Phone: +32 2 629 2974
> Fax:   +32 2 629 3525

More information about the graal-dev mailing list