Tue 27 Oct 2015 13:52 - 14:15 at Grand Station 3 - Session 3, Compilation

Programmers combine different programming languages because it allows them to use the most suitable language for a given problem, to gradually migrate existing projects from one language to another, or to reuse existing source code. However, existing cross-language mechanisms suffer from complex interfaces, insufficient flexibility, or poor performance.

We propose a multi-language runtime that allows composing different language implementations in a seamless way. It reduces the amount of required boiler-plate code to a minimum by allowing programmers to access foreign functions or objects by using the notation of the host language. We compose language implementations that translate source code to an intermediate representation (IR), which is executed on top of a shared runtime system. Language implementations access foreign objects via language-independent messages that the runtime resolves at their first execution by transforming them to efficient foreign-language-specific operations. Our mechanism avoids conversion or marshaling of foreign objects at the language boundary and allows the dynamic compiler to perform its optimizations across language boundaries, which guarantees high performance.

This paper presents an implementation of our ideas based on the Truffle system and its guest language implementations JavaScript, Ruby, and C.

Tue 27 Oct

Displayed time zone: Eastern Time (US & Canada) change

13:30 - 15:00
Session 3, CompilationDLS at Grand Station 3
13:30
22m
Talk
Compiling for Multi-Language Task Migration
DLS
13:52
22m
Talk
High-Performance Cross-Language Interoperability in a Multi-Language Runtime
DLS
Matthias Grimmer Johannes Kepler University Linz, Chris Seaton Oracle Labs / University of Manchester, Roland Schatz Johannes Kepler University Linz, Thomas Wuerthinger Oracle Labs, Hanspeter Mössenböck Johannes Kepler University Linz
14:15
22m
Talk
Java-to-JavaScript Translation via Structured Control Flow Reconstruction of Compiler IR
DLS
David Leopoldseder Johannes Kepler University Linz, Lukas Stadler Oracle Labs, Christian Wimmer Oracle Labs, Hanspeter Mössenböck Johannes Kepler University Linz
14:37
22m
Talk
Language Independent Storage Strategies for Tracing JIT based VMs
DLS
Tim Felgentreff HPI, Germany, Tobias Pape Hasso-Plattner-Institute, Potsdam, Robert Hirschfeld HPI, CF Bolz-Tereick King's College London , Anton Gulenko TU Berlin