Tue 18 Jan 2022 05:20 - 06:05 at PEPM - Contributed Talks 2 Chair(s): Jonathan Immanuel Brachthäuser

Modern, powerful virtual machines such as those running Java or JavaScript support multi-tier JIT compilation and optimization features to achieve their high performance. However, implementing and maintaining several compilers/optimizers that interact with each other requires hard-working of VM developers. In this paper, we propose a technique to realize two-level JIT compilation in RPython without implementing several interpreters or compilers from scratch. As a preliminary realization, we created adaptive RPython which performs both baseline JIT compilation based on threaded code and tracing JIT compilation. We also implemented the small programming language with it. Furthermore, we preliminary evaluated the performance in a small language, and our baseline JIT compilation achieved ran 1.77x faster than the interpreter-only execution. Furthermore, we observed that when we apply an optimal JIT compilation for different target methods, the performance was mostly the same as the one optimizing JIT compilation strategy, saving about 40 % of the compilation code size.

Short paper (paper3.pdf)724KiB

Tue 18 Jan

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

05:20 - 06:35
Contributed Talks 2PEPM at PEPM
Chair(s): Jonathan Immanuel Brachthäuser University of Tübingen
Two-level Just-in-Time Compilation with One Interpreter and One EngineRemote
Yusuke Izawa Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology, Carl Friedrich Bolz-Tereick Heinrich-Heine-Universität Düsseldorf
Pre-print Media Attached File Attached
let (rec) insertion without Effects, Lights or MagicRemote
Oleg Kiselyov Tohoku University, Japan, Jeremy Yallop University of Cambridge