Blogs (61) >>
Tue 17 Jul 2018 17:05 - 17:30 at Hanoi - Session 3

Language implementation frameworks aim to provide everything that is needed to build interpreters, simplify the process by making certain design decisions in advance, and suggest implementation strategies to virtual machine creators. Truffle, the language implementation framework for the GraalVM, is designed for building Abstract Syntax Tree interpreters and the process of doing so is well documented. However, although less documented, Truffle can also be used to implement bytecode interpreters. This approach requires additional hints to be passed into the compiler to gain good performance.

In this paper, we compare two Truffle interpreters for Squeak/Smalltalk, one using an AST implementation approach and the other executing bytecodes. While both run at roughly three times the speed of the standard Squeak/Smalltalk virtual machine, both represent different trade-offs in implementation strategies for interpreters in Truffle. We compare these trade-offs and discuss the advantages and disadvantages of the different approaches.

Tue 17 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

16:00 - 18:00
Session 3ICOOOLPS at Hanoi
The first 15 years of PyPy: A retrospectiveKeynote
Research paper
GraalSqueak: A Fast Smalltalk Bytecode Interpreter Written in an AST Interpreter Framework
Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Tim Felgentreff Oracle Labs, Potsdam, Robert Hirschfeld HPI, University of Potsdam
Link to publication DOI Pre-print