Production ready? Graal essential for JITing?
raffaello.giulietti at supsi.ch
Fri Jun 24 14:57:32 UTC 2016
this is my understanding:
* Truffle optimizes when it can interact with a JVMCI
[http://openjdk.java.net/jeps/243] enabled VM.
* Graal implements the JVMCI.
* Hence, Truffle + Graal is the winning pair.
Truffle still runs on a stock JVM but it then simply acts as a
self-optimizing *interpreter*. The real magic happens when it can
interplay with a JVMCI jitting compiler like Graal.
That said, I'm not sure how far Truffle is committed to Graal's
internals and how far it only depends on the pure interface aspect of JVMCI.
It is planned that JVMCI will be an experimental feature in Java 9, so
the next EA releases of Java 9 will probably support the whole suite
without the need to build the JVM from source.
To answer your question, yes, Graal is currently essential for jitting.
On 2016-06-24 14:11, john bergin wrote:
> 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.
More information about the graal-dev