• Publications
  • Influence
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
Dynamic code evolution for Java
TLDR
We modified an existing high-performance virtual machine to allow arbitrary changes to the definition of loaded classes. Expand
  • 76
  • 6
  • PDF
High-performance cross-language interoperability in a multi-language runtime
TLDR
We present the TruffleVM, a multi-language runtime that allows composing different language implementations in a seamless way. Expand
  • 35
  • 6
  • PDF
Partial Escape Analysis and Scalar Replacement for Java
TLDR
This paper presents a new, practical algorithm that performs control flow sensitive Partial Escape Analysis in a dynamic Java compiler. Expand
  • 68
  • 5
  • PDF
Renaissance: benchmarking suite for parallel applications on the JVM
TLDR
We present Renaissance, a new benchmark suite composed of modern, real-world, concurrent, and object-oriented workloads that exercise various concurrency primitives of the JVM. Expand
  • 19
  • 4
  • 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
Practical partial evaluation for high-performance dynamic language runtimes
Most high-performance dynamic language virtual machines duplicate language semantics in the interpreter, compiler, and runtime system. This violates the principle to not repeat yourself. In contrast,Expand
  • 69
  • 3
  • PDF
Graal IR : An Extensible Declarative Intermediate Representation
We present an intermediate representation (IR) for a Java just in time (JIT) compiler written in Java. It is a graph-based IR that models both control-flow and data-flow dependencies between nodes.Expand
  • 43
  • 3
  • PDF
Bringing low-level languages to the JVM: efficient execution of LLVM IR on Truffle
TLDR
We propose Sulong, a system that can execute LLVM-based languages on the JVM. Expand
  • 31
  • 2
  • PDF
...
1
2
3
4
5
...