Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Maxwell Bernstein

dblp:371/9209 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
1since 2021 · last 2025
0000-0003-3130-7059ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 61% Runtime systems and virtual machines · 30% Programming languages and type systems · 9%

Topics — the 3 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › compiler construction
ahead-of-time compilation
0.912025
Partial Evaluation, Whole-Program Compilation · Proc. ACM Program. Lang. 2025
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.912025
Partial Evaluation, Whole-Program Compilation · Proc. ACM Program. Lang. 2025
Compilers and program optimization
partial evaluation
0.912025
Partial Evaluation, Whole-Program Compilation · Proc. ACM Program. Lang. 2025

Methods — techniques the papers use, named apart from their topics

static single assignment · 0.9partial evaluation · 0.9
YearPublicationVenuePosition
2025 Partial Evaluation, Whole-Program Compilation
abstract
There is a tension in dynamic language runtime design between speed and correctness. State-of-the-art JIT compilation, the result of enormous industrial investment and significant research, achieves heroic speedups at the cost of complexity. This complexity leads to subtle and sometimes catastrophic correctness bugs. Much of this complexity comes from the existence of multiple tiers and the need to maintain correspondence between these separate definitions of the language’s semantics; it also comes from the indirect nature of the semantics implicitly encoded in a compiler backend. One way to address this complexity is to automatically derive, as much as possible, the compiled code from a single source-of-truth, such as the interpreter tier. In this work, we introduce a partial evaluator that can compile a whole guest-language function ahead-of-time, without tracing or profiling, “for free.” This transform unrolls an interpreter function expressed in a standard compiler intermediate representation (static single assignment or SSA) and uses partial evaluation of the interpreter function and its regular control flow to drive the guest-language compilation. The effect of this is that the transform is applicable to almost unmodified existing interpreters in systems languages such as C or C++, producing ahead-of-time guest-language compilers. We show the effectiveness of this new tool by applying it to the interpreter tier of an existing industrial JavaScript engine, SpiderMonkey, yielding 2.17× speedups, and the PUC-Rio Lua interpreter, yielding 1.84× speedups. Finally, we outline an approach to carry this work further, deriving more of the capabilities of a JIT backend from first principles while retaining correctness.
Chris Fallin, Maxwell Bernstein
Proc. ACM Program. Lang.2