Production ready? Graal essential for JITing?

john bergin john.bergin at
Fri Jun 24 15:21:42 UTC 2016

Thank you Raffaello / Christian for your prompt responses!!

Now knowing that JVMCI is the link between Truffle and Graal makes the
picture a lot more clear!

OK so Truffle running on a stock JVM acts as a self-optimizing interpreter.
I believe the paper linked below describes the work done by Tuffle. Am I
correct on this?

Interesting to know that JVMCI will be a experimental feature in JDK9.

Thanks for all the links, Christian, and SimpleLanguage looks especially
interesting. I'll give the video a watch too.

Thanks for the info. Lots to get started with.

On 24 June 2016 at 16:06, Christian Humer <christian.humer at> wrote:

> Hi John,
> Thanks for your interest.
> I cannot answer a "safe for production" question, as Truffle is still a
> research project.
> We tag our Truffle Github repository[1] with releases of the API. The
> latest Truffle release tag is truffle-0.14.
> We do guarantee compatibility between two adjacent versions, however we
> may mark API as deprecated in one release and remove them in a later one at
> the moment.
> So for upgrading you can go to the next Truffle version, fix all
> deprecated warnings and repeat with the next version until you reach the
> desired version.
> Every Truffle release should run with a standard JVM >= 1.7 out of the box.
> However you won't get the benefit of Graal optimizing the ASTs using
> dynamic compilation in such a scenario.
> We are currently integrating our VM facing APIs called JVMCI[2] into JDK9.
> So with a stock JDK9 you are going to be able run Truffle together with
> Graal as a JIT.
> In the meantime, you can already use a modified JDK8 version called
> GraalVM[3] for development.
> This version of the JDK includes JVMCI, Graal, Truffle and also ships with
> interpreters for JavaScript, Ruby and R.
> To get started with Truffle language development I recommend to have a
> look at SimpleLanguage[4] and a recently published Truffle video
> tutorial[5] by Christian Wimmer.
> Hope this helps.
> Have fun,
> Christian Humer
> [1]
> [2]
> [3]
> [4]
> [5]
> On 24.06.2016 16:11:42, "john bergin" <john.bergin at> wrote:
> Hi.
>> I understand that Truffle and Graal are research projects and that there
>> is
>> currently no set date for a release. But I'm wondering if there is a
>> Truffle commit that is considered safe for production on a standard JVM?
>> I'm also wondering if Graal is needed to allow a Truffle AST to be
>> optimized for a specific run-time context? My understand is Truffle is a
>> AST framework and Graal is the JIT and Graal feeds optimizations back to
>> the Truffle AST to suggest specific optimizations? Or maybe Truffle on its
>> own running on a stock JVM can allow for JITing of the Truffle AST.
>> Appreciate any feedback on either question.
>> Many thanks.
>> John.

More information about the graal-dev mailing list