ECOOP 2025
Mon 30 June - Fri 4 July 2025 Bergen, Norway
Tue 1 Jul 2025 15:24 - 15:45 at Auditorium M003 - Compilation and Optimization Chair(s): Elisa Gonzalez Boix

We present \emph{Pydrofoil}, a multi-stage compiler that generates instruction set simulators (ISSs) from processor instruction set architectures (ISAs) expressed in the high-level, verification-oriented ISA specification language Sail. Pydrofoil shows a > 230x speedup over the C-based ISS generated by Sail on our benchmarks, and is based on the following insights. (i) An ISS is effectively an interpreter loop, and tracing just-in-time (JIT) compilers have proven effective at accelerating those, albeit mostly for dynamically typed languages. (ii) ISS workloads are highly atypical, dominated by intensive bit manipulation operations. Conventional compiler optimisations for general-purpose programming languages have limited impact for speeding up such workloads. We develop suitable domain-specific optimisations. (iii) Neither tracing JIT compilers, nor ahead-of-time (AOT) compilation alone, even with domain-specific optimisations, suffice for the generation of performant ISSs. Pydrofoil therefore implements a hybrid approach, pairing an AOT compiler with a tracing JIT built on the meta-tracing PyPy framework. AOT and JIT use domain-specific optimisations. Our benchmarks demonstrate that combining AOT and JIT compilers provides significantly greater performance gains than using either compiler alone.

Slides (Pydrofoil ECOOP 2025.pdf)1.94MiB

Tue 1 Jul

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

14:00 - 15:45
Compilation and OptimizationTechnical Papers at Auditorium M003
Chair(s): Elisa Gonzalez Boix Vrije Universiteit Brussel
14:00
21m
Talk
A Lightweight Method for Generating Multi-Tier JIT Compilation Virtual Machine in a Meta-Tracing Compiler Framework
Technical Papers
Yusuke Izawa Tokyo Metropolitan University, Hidehiko Masuhara Institute of Science Tokyo, CF Bolz-Tereick Heinrich-Heine-Universität Düsseldorf
Pre-print
14:21
21m
Talk
GSOHC: Global Synchronization Optimization in Heterogeneous Computing
Technical Papers
Soumik Kumar Basu IIT Hyderabad, Jyothi Vedurada IIT Hyderabad
14:42
21m
Talk
Profile-Guided Field Externalization in an Ahead-of-Time Compiler
Technical Papers
Sebastian Kloibhofer Johannes Kepler University Linz, Lukas Makor JKU Linz, Peter Hofer Oracle Labs, David Leopoldseder Oracle Labs, Hanspeter Mössenböck JKU Linz
15:03
21m
Talk
Reusing Highly Optimized IR in Dynamic Compilation
Technical Papers
Andrej Pečimúth Oracle Labs; Charles University, David Leopoldseder Oracle Labs, Petr Tuma Charles University
15:24
21m
Talk
Pydrofoil: accelerating Sail-based instruction set simulators
Technical Papers
Martin Berger University of Sussex & Montanarius Ltd, CF Bolz-Tereick Heinrich-Heine-Universität Düsseldorf, Luke Panayi Imperial College, Ferdia McKeogh University of St Andrews, Tom Spink University of St Andrews
Pre-print File Attached
OSZAR »