Blogs (1) >>
POPL 2019
Sun 13 - Sat 19 January 2019 Cascais, Portugal
Mon 14 Jan 2019 11:05 - 12:00 at Sala X - Session 1 Chair(s): Manuel Hermenegildo

Most high-performance dynamic language virtual machines duplicate language semantics in the interpreter, compiler, and runtime system. This violates the principle to not repeat yourself. In contrast, in GraalVM, we define languages solely by writing an interpreter [1]. To achieve high-performance we use an approach that was first described in 1971 by Y. Futamura [2], and is known as the first Futamura projection. The first Futamura projection allows languages to express powerful optimizations while keeping the compiler fully language agnostic. The runtime system composes interpreter nodes of multiple languages in one compilation unit to support polyglot interoperability and compilation [3]. A language agnostic instrumentation mechanism enables us to attach cross-cutting concerns to polyglot applications with zero overhead [4]. In this talk, I will introduce the theoretical concepts behind GraalVM and show how we build composable high-performance language implementations and tools. I will also preview some new ideas on how we want to apply the second Futamura projection in order to reach the compilation efficiency of specialized language-specific compilers.

References:

[1] Würthinger, Thomas, et al. “Practical partial evaluation for high-performance dynamic language runtimes.” ACM SIGPLAN Notices. Vol. 52. No. 6. ACM, 2017.
[2] Futamura, Yoshihiko. “Partial evaluation of computation process–an approach to a compiler-compiler.” Higher-Order and Symbolic Computation 12.4 (1999): 381-391.
[3] Grimmer, Matthias, et al. “High-performance cross-language interoperability in a multi-language runtime.” ACM SIGPLAN Notices. Vol. 51. No. 2. ACM, 2015.
[4] Van De Vanter, Michael, et al. “Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools.” arXiv preprint arXiv:1803.10201 (2018).

Slides (14.01.2019-POPM.pdf)1.63MiB

Mon 14 Jan

pepm-2019-papers
11:00 - 12:30: PEPM 2019 - Session 1 at Sala X
Chair(s): Manuel HermenegildoIMDEA Software Institute and T.U. of Madrid (UPM)
pepm-2019-papers11:00 - 11:05
Day opening
Atsushi IgarashiKyoto University, Japan, Manuel HermenegildoIMDEA Software Institute and T.U. of Madrid (UPM)
pepm-2019-papers11:05 - 12:00
Talk
Christian HumerOracle Labs, Switzerland
File Attached
pepm-2019-papers12:00 - 12:30
Talk
Barry JayUniversity of Technology Sydney
DOI