Skip to main content

A Flexible Framework for Studying Trace-Based Just-In-Time Compilation

Vandercammen, Maarten, Marr, Stefan, De Roover, Coen (2017) A Flexible Framework for Studying Trace-Based Just-In-Time Compilation. Computer Languages, Systems & Structures, 51 . pp. 22-47. ISSN 1477-8424. (doi:10.1016/j.cl.2017.07.005) (KAR id:63811)

PDF Author's Accepted Manuscript
Language: English


Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Download (488kB) Preview
[img]
Preview
Official URL
http://doi.org/10.1016/j.cl.2017.07.005

Abstract

Just-in-time compilation has proven an effective, though effort-intensive, choice for realizing performant language runtimes. Recently introduced JIT compilation frameworks advocate applying meta-compilation techniques such as partial evaluation or meta-tracing on simple interpreters to reduce the implementation effort. However, such frameworks are few and far between. Designed and highly optimized for performance, they are difficult to experiment with. We therefore present STRAF, a minimalistic yet flexible Scala framework for studying trace-based JIT compilation. STRAF is sufficiently general to support a diverse set of language interpreters, but also sufficiently extensible to enable experiments with trace recording and optimization. We demonstrate the former by plugging two different interpreters into STRAF. We demonstrate the latter by extending STRAF with e.g., constant folding and type-specialization optimizations, which are commonly found in dedicated trace-based JIT compilers. The evaluation shows that STRAF is suitable for prototyping new techniques and formalisms in the domain of trace-based JIT compilation.

Item Type: Article
DOI/Identification number: 10.1016/j.cl.2017.07.005
Uncontrolled keywords: Trace-based JIT compilation, Optimization, Operational semantics
Subjects: Q Science
Divisions: Faculties > Sciences > School of Computing
Depositing User: Stefan Marr
Date Deposited: 05 Oct 2017 20:35 UTC
Last Modified: 29 May 2019 19:38 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/63811 (The current URI for this page, for reference purposes)
Marr, Stefan: https://orcid.org/0000-0001-9059-5180
  • Depositors only (login required):

Downloads

Downloads per month over past year