‹Programming› 2019
Mon 1 - Thu 4 April 2019 Genoa, Italy
Tue 2 Apr 2019 10:00 - 10:30 at Michelangelo - Just-in-Time Compilation Chair(s): Edd Barrett, Stefan Marr

Meta-interpreter-based just-in-time compiler frameworks provide a convenient way for language designers to implement efficient virtual machines. Those frameworks either employ tracing-based or method- (or partial evaluation) based strategies, which have their own pros and cons.

This paper proposes an approach to enable both tracing- and method-based compilation so that the runtime can selectively apply an appropriate strategy to different parts of a program.

The proposal basically extends a meta-tracing compiler to method-based compilation by rolling back at conditional branches, trace-splitting at loop entries, and not following at function calls.

As a proof-of-concept, we implemented a tiny meta-tracing compiler in MinCaml by following the RPython’s architecture and extended it to support both tracing- and method-based compilation.

Tue 2 Apr

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

08:50 - 10:30
Just-in-Time CompilationMoreVMs at Michelangelo
Chair(s): Edd Barrett King's College London, Stefan Marr University of Kent
08:50
10m
Day opening
Welcome
MoreVMs
Edd Barrett King's College London, Stefan Marr University of Kent
09:00
60m
Talk
Region-Based Compilation in the HHVM JIT CompilerMoreVMs Invited Talk
MoreVMs
I: Guilherme Ottoni Facebook
10:00
30m
Talk
Extending a Meta-Tracing Compiler to Mix Method and Tracing Compilation
MoreVMs
Yusuke Izawa Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology, Tomoyuki Aotani Tokyo Institute of Technology
DOI Pre-print Media Attached