Additional Resources


OpenJDK project

If you want to get in contact with the team developing Graal and the Polyglot engine, head to the Graal OpenJDK project page.

There is an active graal-dev mailing list.
 

Github

Our open-source artifacts are also available on GitHub, see https://github.com/graalvm.

 

Polyglot Language Projects

Several open-source language implementations are based on Graal, using the Polyglot engine:


Publications


On Graal

  • Josef Eisl, Matthias Grimmer, Doug Simon, Thomas Würthinger, and Hanspeter Mössenböck: Trace-based Register Allocation in a JIT Compiler, PPPJ '16 Proceedings of the 2016 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, 2016
  • Gilles Duboscq, Thomas Würthinger, Hanspeter Mössenböck: Speculation Without Regret: Reducing Deoptimization Meta-data in the Graal compiler accepted for the Intl. Conf. on Principles and Practice of Programming in Java (PPPJ'14), September 23-26, 2014, Cracow, Poland
  • Lukas Stadler: Partial Escape Analysis and Scalar Replacement for Java PhD thesis, Johannes Kepler University Linz, May 2014
  • Lukas Stadler, Thomas Würthinger, Hanspeter Mössenböck: Partial Escape Analysis and Scalar Replacement for Java Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO'14), February 15-19, 2014, Orlando, Florida, USA
  • Gilles Duboscq, Thomas Würthinger, Lukas Stadler, Christian Wimmer, Doug Simon, Hanspeter Mössenböck: An Intermediate Representation for Speculative Optimizations in a Dynamic Compiler Proceedings of the 7th workshop on Virtual Machines and Intermediate Languages (VMIL'13), as part of the 4th Annual Splash Conference, October 26-31, 2013, Indianapolis, Indiana, USA
  • Lukas Stadler, Gilles Duboscq, Hanspeter Mössenböck, Thomas Würthinger, Doug Simon: An Experimental Study of the Influence of Dynamic Compiler Optimizations on Scala Performance Proceedings of the 4th Workshop on Scala (SCALA '13), July 2, 2013, Montpellier, France
  • Gilles Duboscq, Lukas Stadler, Thomas Würthinger, Doug Simon, Christian Wimmer, Hanspeter Mössenböck: Graal IR: An Extensible Declarative Intermediate Representation Proceedings of the 2nd Asia-Pacific Programming Languages and Compilers Workshop, as part of the 10th Annual International Symposium on Code Generation and Optimization, February 23-27, 2013, Shenzhen, China
  • Lukas Stadler, Gilles Duboscq, Hanspeter Mössenböck, Thomas Würthinger: Compilation Queuing and Graph Caching for Dynamic Compilers Proceedings of the 6th workshop on Virtual Machines and Intermediate Languages (VMIL'12), as part of the 3rd Annual Splash Conference, October 19-26, 2012, Tucson, Arizona, USA, pp.45-53

On the Polyglot engine, Language Interoperability, and the Truffle API

  • Manuel Rigger, Matthias Grimmer, and Hanspeter Mössenböck: Sulong - Execution of LLVM-Based Languages on the JVM, ICOOOLPS'16 Proceedings of the 11th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, 2016
  • Matthias Grimmer, Chris Seaton, Roland Schatz, Thomas Würthinger, Hanspeter Mössenböck: High-performance cross-language interoperability in a multi-language runtime, DLS 2015 Proceedings of the 11th Symposium on Dynamic Languages, 2015
  • Matthias Grimmer, Roland Schatz, Chris Seaton, Thomas Würthinger, Hanspeter Mössenböck: Memory-safe Execution of C on a Java VM, PLAS'15 Proceedings of the 10th ACM Workshop on Programming Languages and Analysis for Security, 2015
  • Matthias Grimmer, Chris Seaton, Thomas Würthinger, Hanspeter Mössenböck: Dynamically Composing Languages in a Modular Way: Supporting C Extensions for Dynamic Languages. accepted for publication at the 14th International Conference on Modularity, 2015, Fort Collins, Colorado, USA.
  • Matthias Grimmer, Manuel Rigger, Roland Schatz, Lukas Stadler, Hanspeter Mössenböck: Truffle C: Dynamic Execution of C on the Java Virtual Machine. accepted for the Intl. Conf. on Principles and Practice of Programming in Java (PPPJ'14), September 23-26, 2014, Cracow, Poland.
  • Andreas Wöß, Christian Wirth, Daniele Bonetta, Chris Seaton, Christian Humer, Hanspeter Mössenböck: An Object Storage Model for the Truffle Language Implementation Framework. accepted for the Intl. Conf. on Principles and Practice of Programming in Java (PPPJ'14), September 23-26, 2014, Cracow, Poland.
  • Christian Humer, Christian Wimmer, Christian Wirth, Andreas Wöß, and Thomas Würthinger: A domain-specific language for building self-optimizing AST interpreters. In Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences (GPCE 2014), September 15-16, 2014, Västeros, Sweden.
  • Matthias Grimmer, Thomas Würthinger, Andreas Wöß, Hanspeter Mössenböck: An Efficient Approach to Access Native Binary Data from JavaScript. accepted for the 9th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS'2014), July 28, 2014, Uppsala, Sweden.
  • Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, Mario Wolczko: One VM to Rule Them All Proceedings of the Onward! Conference, October 26-31, 2013, Indianapolis, USA
  • Matthias Grimmer, Manuel Rigger, Lukas Stadler, Roland Schatz, Hanspeter Mössenböck: An efficient native function interface for Java Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools. (PPPJ'13) Pages 35-44
  • Matthias Grimmer: Runtime Environment for the Truffle/C VM Master's thesis, Johannes Kepler University Linz, November 2013
  • Thomas Würthinger, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Wimmer: Self-Optimizing AST Interpreters Proceedings of the 7th Symposium on Dynamic Languages (DLS'12), pages 73-82. ACM Press, 2012.

 

On Truffle Instrumentation and Debugging

  • Michael Van De Vanter, "Building Debuggers and Other Tools: We Can “Have it All”" , The 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS 2015), Prague, Czech Republic, July 6 2015
  • Chris Seaton, Michael L. Van De Vanter, and Michael Haupt. 2014. Debugging at Full Speed. Workshop on Dynamic Languages and Applications, Edinburgh, (June 2014)