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