Write a Blog >>
MPLR 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
co-located with SPLASH 2019
Mon 21 Oct 2019 11:00 - 11:30 at Room 1 - Virtual machines

On-stack replacement (OSR) is a common technique employed by dynamic compilers to reduce program warm-up time. OSR allows switching from interpreted to compiled code during the execution of this code. The main targets are long running loops, which need to be represented explicitly, with dedicated information about condition and body, to be optimized at run time. Bytecode interpreters, however, represent control flow implicitly via unstructured jumps and thus do not exhibit the required high-level loop representation. To enable OSR also for jump-based—often called unstructured—languages, we propose the partial reconstruction of loops in order to explicitly represent them in a bytecode interpreter. Besides an outline of the general idea, we implemented our approach in Sulong, a bytecode interpreter for LLVM bitcode, which allows the execution of C/C++. We conducted an evaluation with a set of C benchmarks, which showed speed-ups in warm-up of up to 9x for certain benchmarks. This facilitates execution of programs with long-running loops in rarely called functions, which would yield significant slowdown without OSR. While shown with a prototype implementation, the overall idea of our approach is generalizable for all bytecode interpreters.

Mon 21 Oct

Displayed time zone: Beirut change

11:00 - 12:30
Virtual machinesMPLR 2019 at Room 1
11:00
30m
Talk
Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction
MPLR 2019
Raphael Mosaner Johannes Kepler University Linz, David Leopoldseder Johannes Kepler University Linz, Manuel Rigger ETH Zurich, Roland Schatz Johannes Kepler University Linz, Hanspeter Mössenböck JKU Linz, Austria
Pre-print
11:30
30m
Talk
GraalSqueak: Toward a Smalltalk-based Tooling Platform for Polyglot Programming
MPLR 2019
Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Tim Felgentreff Oracle Labs, Potsdam, Robert Hirschfeld Hasso-Plattner-Institut (HPI), Germany
DOI Pre-print
12:00
30m
Talk
WARDuino: A Dynamic WebAssembly Virtual Machine for Programming Microcontrollers
MPLR 2019
Robbert Gurdeep Singh Universiteit Gent, Belgium, Christophe Scholliers Universiteit Gent, Belgium
DOI Authorizer link Pre-print