ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA
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

ICOOOLPS-2018-papers
16:00 - 18:00: ICOOOLPS - Session 3 at Hanoi
ICOOOLPS-2018-papers16:00 - 17:00
Talk
ICOOOLPS-2018-papers17:05 - 17:30
Research paper
Fabio NiephausHasso Plattner Institute, University of Potsdam, Tim FelgentreffOracle Labs, Potsdam, Robert HirschfeldHPI, University of Potsdam
Link to publication DOI Pre-print