The Graal publications and presentations are now at https://github.com/graalvm/graal-core/blob/master/docs/Publications.md
This tutorial presents Truffle, a novel open-source framework for implementing managed languages in Java. The language implementer writes an AST interpreter. It uses the Truffle framework that allows tree rewriting during AST interpretation. Tree rewrites incorporate type feedback and other profiling information into the tree, thus specializing the tree and augmenting it with run-time information. When the tree reaches a stable state, partial evaluation compiles the tree into optimized machine code. The partial evaluation is done by Graal, a just-in-time compiler for the Java HotSpot VM.
The recording from SPLASH 2014 is newer than the CGO 2014, but shorter (1 hour instead of 3 hours). The CGO 2014 version has more live programming and covers more topics.
- JVM Language Summit 2014, July 28-30, Santa Clara, CA: Debugging at Full Speed: Instrumenting Truffle-implemented Programs
- JVM Language Summit 2013, July 29-31, Santa Clara, CA: One VM to Rule Them All
- SPLASH 2012, October 19-26, Tucson AZ: Truffle: A Self-Optimizing Runtime System.
- Matthias Grimmer: High-performance language interoperability in multi-language runtimes.
In Proceedings of the companion publication of the 2014 ACM SIGPLAN conference on Systems, Programming, and Applications: Software for Humanity (SPLASH'14), 2014
- Matthias Grimmer, Manuel Rigger, Roland Schatz, Lukas Stadler, Hanspeter Mössenböck:Â Truffle C: Dynamic Execution of C on the Java Virtual Machine.
In Proceedings of the Intl. Conf. on Principles and Practice of Programming in Java (PPPJ'14), 2014
- Christian Humer, Christian Wimmer, Christian Wirth, Andreas Wöss, Thomas Würthinger: A Domain-Specific Language for Building Self-Optimizing AST Interpreters. In Proceedings of the International Conference on Generative Programming: Concepts and Experiences(GPCE'14), 2014
- Andreas Wöss, Christian Wirth, Daniele Bonetta, Chris Seaton, Christian Humer, Hanspeter Mössenböck: An Object Storage Model for the Truffle Language Implementation Framework.
In Proceedings of Intl. Conf. on Principles and Practice of Programming in Java (PPPJ'14), 2014
In Proceedings of the 9th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS'2014), 2014
- Thomas Würthinger, Christian Wimmer, Andreas Wöss, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, Mario Wolczko: One VM to Rule Them All. In Proceedings of Onward!, ACM Press, 2013.
Describes the vision of the Truffle approach, and the full system stack including the interpreter and dynamic compiler.
- Chris Seaton, Michael Van De Vanter, and Michael Haupt: Debugging at full speed. In Proceedings of the 8th Workshop on Dynamic Languages and Applications (DYLA), 2014.
- Matthias Grimmer, Manuel Rigger, Lukas Stadler, Roland Schatz, Hanspeter Mössenböck:Â An efficient native function interface for Java
In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools. (PPPJ'13), 2013
- Matthias Grimmer: Runtime Environment for the Truffle/C VM
Master's thesis, Johannes Kepler University Linz, November 2013
- Thomas Würthinger, Andreas Wöss, Lukas Stadler, Gilles Duboscq, Doug Simon, Christian Wimmer: Self-Optimizing AST Interpreters. In Proceedings of the Dynamic Languages Symposium, pages 73-82. ACM Press, 2012. doi:10.1145/2384577.2384587