The Great Startup Problem

Jochen Theodorou blackdrag at
Fri Aug 29 09:51:22 UTC 2014

Am 29.08.2014 11:03, schrieb Thomas Wuerthinger:
> John,
> Thanks for this detailed analysis on the current status and proposed
> future work for invokedynamic. Can you also add some comments on what
> you believe the advantages and disadvantages of using Truffle instead of
> invokedynamic for implementing dynamic languages on top of the JVM are?

I am not John but from my perspective I have two hopes for Truffle:

(1) dynamic handling of constructor delegation calls this/super 
(invokedynamic does help zero here)
(2) keep internal frames out. (an invokedynamic based groovy program has 
an about 10 times reduced stack depth because of lambda forms)

I also see potential for cases in which the MethodHandle gets overly 
complex. In Groovy we have for example up to N+1 guards for a method 
call with N arguments plus a catchException part and a switchpoint. Most 
of them ending up in selecting the method new. I could imagine things 
getting even more complicated.

bye Jochen

Jochen "blackdrag" Theodorou - Groovy Project Tech Lead
german groovy discussion newsgroup: de.comp.lang.misc
For Groovy programming sources visit

More information about the mlvm-dev mailing list