Pith. sign in

REVIEW 1 cited by

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

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2201.09268 v1 pith:XOJYYTI5 submitted 2022-01-23 cs.PL

classification cs.PL
keywords compilationperformancebaselinecodecompilersfurthermoreimplementinglanguage
verification ladder T0 review T1 audit T2 compute T3 formal

Signed reviews

No signed human review yet.

0 comments
read the original abstract

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 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 a small programming language with it. Furthermore, we preliminarily evaluated the performance of that small language, and our baseline JIT compilation 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.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. Deegen: A JIT-Capable VM Generator for Dynamic Languages

    cs.PL 2024-11 conditional novelty 8.0 of 10

    Deegen automatically generates a two-tier VM (interpreter plus baseline JIT) from C++ bytecode semantics; a Lua 5.1 VM built with it runs 179% faster than the reference interpreter and approaches LuaJIT.

Pith tools