• Publications
  • Influence
One VM to rule them all
TLDR
We describe a new approach to virtual machine (VM) construction that amortizes much of the effort in initial construction by allowing new languages to be implemented with modest additional effort. Expand
  • 229
  • 33
  • PDF
Self-optimizing AST interpreters
TLDR
We present a novel approach to implementing AST interpreters in which the AST is modified during interpretation to incorporate type feedback to avoid the cost of boxed representations of primitive values in dynamic programming languages. Expand
  • 124
  • 17
  • PDF
Maxine: An approachable virtual machine for, and in, java
TLDR
A highly productive platform accelerates the production of research results. Expand
  • 81
  • 15
  • PDF
Design of the Java HotSpot#8482; client compiler for Java 6
TLDR
Version 6 of Sun Microsystems' Java HotSpot#8482; VM ships with a redesigned version of the client just-in-time compiler that includes several research results of the last years. Expand
  • 158
  • 12
  • PDF
Truffle: a self-optimizing runtime system
TLDR
We present Truffle, a novel framework for implementing managed languages in Java™ that allows tree rewriting during AST interpretation. Expand
  • 62
  • 8
  • PDF
A domain-specific language for building self-optimizing AST interpreters
TLDR
This paper introduces a declarative domain-specific language (DSL) that greatly simplifies writing self-optimizing AST interpreters. Expand
  • 24
  • 7
Linear scan register allocation on SSA form
TLDR
The linear scan algorithm for register allocation provides a good register assignment with a low compilation overhead and is thus frequently used for just-in-time compilers. Expand
  • 50
  • 5
  • PDF
A domain-specific language for building self-optimizing AST interpreters
TLDR
This paper introduces a declarative domain-specific language (DSL) that greatly simplifies writing self-optimizing AST interpreters. Expand
  • 14
  • 4
  • PDF
ZipPy on truffle: a fast and simple implementation of python
TLDR
We present a new approach to virtual machine construction that amortizes much of the effort in initial construction by allowing new languages to be implemented with modest additional effort. Expand
  • 14
  • 4
Compiler-Generated Software Diversity
TLDR
With multi-variant execution, a monitoring layer executes several diversified variants in lockstep while examining their behavior for differences that indicate attacks. Expand
  • 83
  • 3
...
1
2
3
4
5
...