Amalgamating Different JIT Compilations in a Meta-tracing JIT Compiler Framework

11/06/2020
by   Yusuke Izawa, et al.
0

Many modern virtual machines, such as JVMs, .NET Framework, and V8, employ a just-in-time (JIT) compiler to achieve their high-performance. There are two major compilation strategies; trace-based compilation and method-based compilation. They have their own advantages and disadvantages, so we presume that applying suitable strategies for different program parts is essential for faster execution. This paper proposes a new approach called the meta-hybrid JIT compiler framework, which combined the two strategies in a single meta-JIT compiler framework. We implemented the BacCaml framework for proof-of-concept. We also report that some programs actually ran faster by the hybrid compilation in our experiments.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/23/2021

Threaded Code Generation with a Meta-tracing JIT Compiler

Language implementation frameworks, e.g., RPython and Truffle/Graal, are...
research
08/25/2021

Visualizing JIT Compiler Graphs

Just-in-time (JIT) compilers are used by many modern programming systems...
research
05/02/2022

Accelerating Verified-Compiler Development with a Verified Rewriting Engine

Compilers are a prime target for formal verification, since compiler bug...
research
12/11/2010

On the Implementation of GNU Prolog

GNU Prolog is a general-purpose implementation of the Prolog language, w...
research
01/23/2022

Two-level Just-in-Time Compilation with One Interpreter and One Engine

Modern, powerful virtual machines such as those running Java or JavaScri...
research
12/18/2020

An Infrastructure for Faithful Execution of Remote Attestation Protocols

Remote attestation is an emerging technology for establishing trust in a...
research
12/01/2022

BaCO: A Fast and Portable Bayesian Compiler Optimization Framework

We introduce the Bayesian Compiler Optimization framework (BaCO), a gene...

Please sign up or login with your details

Forgot password? Click here to reset