Graal (compiler)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) Oracle Corporation
Written in Java
Operating system Cross-platform
Platform Java Virtual Machine
Type Java dynamic compiler and runtime
License GPL[1][2]

Graal is an Oracle project aiming to implement a high performance Java dynamic compiler and interpreter.[3][4]

The objective of Graal is to improve the performance of Java virtual machine-based languages to match the performance of native languages.[5]


Associated with Graal, Oracle is also developing a language abstract syntax tree interpreter called Truffle which would allow it to implement languages on top of the Graal framework.[6][7]

Ahead-of-Time Compilation[edit]

In September 2016, Oracle detailed plans to add ahead-of-time compilation to the OpenJDK using the Graal compiler for Java 9.[8][9] This proposal is tracked by the JEP 295: Ahead-of-Time Compilation, proposed for Java 9.[10]


  1. ^ "License". Oracle Corporation. 2013-08-03. Retrieved 2013-08-23. 
  2. ^ "License". Oracle Corporation. 2013-08-10. Retrieved 2013-08-23. 
  3. ^ "Graal Java compiler would enable high-quality code, efficient memory use". JavaWorld. 2012-02-14. Retrieved 2013-08-23. The effort would explore implementing a dynamic compiler that can be used in a native JVM such as HotSpot or a metacircular JVM such as Maxine. On its project site, Oracle describes the Maxine VM as a next-generation platform written in Java, compatible with modern Java IDEs and the standard Java Development Kit, and featuring a modular architecture 
  4. ^ "Graal : Oracle championing cause for Graal to be part of OpenJDK". 2012-02-15. Retrieved 2013-08-23. 
  5. ^ "Graal : Un compilateur dynamique pour Java". 2012-02-13. Retrieved 2013-08-23. 
  6. ^ "Truffle: A Self-Optimizing Runtime System" (PDF). Oracle Corporation. Retrieved 2013-08-23. 
  7. ^ "Truffle FAQ and Guidelines". Oracle Corporation. 2012-07-31. Retrieved 2013-08-23. 
  8. ^ "Ahead-of-Time (AOT) Compilation May Come to OpenJDK HotSpot in Java 9". 2016-10-01. Retrieved 2016-10-06. AOT brings about a new tool called ‘jaotc' which uses Graal as the backend (to generate code) 
  9. ^ Vladimir Kozlov (2016-09-14). "JDK-8166089: Ahead-of-Time Compilation". Oracle Corporation. Retrieved 2016-10-06. Compile an application's Java classes to native code prior to launching the virtual machine. 
  10. ^ Vladimir Kozlov (2016-10-13). "JEP 295: Ahead-of-Time Compilation". Oracle Corporation. Retrieved 2016-10-13. Compile Java classes to native code prior to launching the virtual machine.. 

External links[edit]