Production ready? Graal essential for JITing?

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


Great.

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

Good luck!

Cheers,
Christian


On 24.06.2016 17:21:42, "john bergin" <john.bergin at gmail.com> 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 
>interpreter.
>I believe the paper linked below describes the work done by Tuffle. Am 
>I
>correct on this?
>
>http://lafo.ssw.uni-linz.ac.at/papers/2012_DLS_SelfOptimizingASTInterpreters.pdf
>
>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 gmail.com> 
>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] https://github.com/graalvm/truffle
>>  [2] http://openjdk.java.net/jeps/243
>>  [3]
>>  
>>http://www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html
>>  [4] https://github.com/graalvm/simplelanguage
>>  [5] https://www.youtube.com/watch?v=FJY96_6Y3a4
>>
>>
>>
>>  On 24.06.2016 16:11:42, "john bergin" <john.bergin at gmail.com> 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