‹Programming› 2022
Mon 11 - Thu 14 April 2022
Tue 22 Mar 2022 10:30 - 10:55 at Workshop II - Session 2

Language interpreters are generally slower than (JIT) compiled implementations because they trade off simplicity for performance and portability. They are nevertheless still important in modern Virtual Machines (VMs): e.g., not all code is hot and arrives to later compilation stages.

We propose to study more in depth the idea of interpreter registers: interpreter variables that are critical to the efficient execution of the interpreter loop. We present an automatic interpreter transformation for bytecode interpreters written in C called autolocalization. Autolocalisation makes interpreter registers local to the interpreter loop with the objective of keeping them in registers and makes those values available for other routines in the VM runtime automatically when required.

We build autolocalisation in Slang, Pharo’s VM generator framework, and evaluate the performance of several benchmarks on different configurations localising IP, SP, FP and their combinations. We show that the C compiler does not make this optimization automatically, and that this transformation yields improvements of up to 1.92x on x86-64. Moreover, we show that the performance of our automatic approach is comparable to the previously approach handwritten in the Pharo VM while making it easier to read, modify and debug.

Short Paper (shortmain.pdf)490KiB

Tue 22 Mar

Displayed time zone: Lisbon change

10:30 - 12:00
Session 2MoreVMs at Workshop II
10:30
25m
Talk
Interpreter Register Autolocalisation: Improving the performance of efficient interpreters
MoreVMs
Guillermo Polito CNRS; CRIStAL; University of Lille; Centrale Lille; Inria, Pablo Tesone Inria Lille–Nord Europe, France Mines Douai, IA, Univ. Lille, France, Stéphane Ducasse Inria; University of Lille; CNRS; Centrale Lille; CRIStAL, Nahuel Palumbo Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL, Soufyane Labsari Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL
File Attached
10:55
25m
Talk
Less Is More: Merging AST Nodes To Optimize Interpreters
MoreVMs
Octave Larose University of Kent, Sophie Kaleba University of Kent, Stefan Marr University of Kent
Media Attached File Attached
11:20
25m
Talk
Towards Just-in-time and Language-agnostic Mutation Testing
MoreVMs
Stefan Reschke Hasso Plattner Institute, University of Potsdam, Toni Mattis Hasso Plattner Institute, University of Potsdam, Fabio Niephaus Oracle Labs, Potsdam, Robert Hirschfeld HPI, University of Potsdam
File Attached
11:45
15m
Other
Discussion
MoreVMs
C: Rodrigo Bruno INESC-ID / Técnico, ULisboa, C: Michael Engel Norwegian University of Science and Technology (NTNU)