Production ready? Graal essential for JITing?

Christian Humer christian.humer at
Fri Jun 24 15:59:55 UTC 2016


Please let me know if you need further help getting started.
We also appreciate feedback on the process.

Good luck!


On 24.06.2016 17:21:42, "john bergin" <john.bergin at> wrote:

>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 
>I believe the paper linked below describes the work done by Tuffle. Am 
>correct on this?
>Interesting to know that JVMCI will be a experimental feature in JDK9.
>Thanks for all the links, Christian, and SimpleLanguage looks 
>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> 
>>  Hi John,
>>  Thanks for your interest.
>>  I cannot answer a "safe for production" question, as Truffle is still 
>>  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 
>>  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 
>>  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 
>>  So with a stock JDK9 you are going to be able run Truffle together 
>>  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 
>>  interpreters for JavaScript, Ruby and R.
>>  To get started with Truffle language development I recommend to have 
>>  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 
>>>  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 
>>>  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