One VM to Rule Them All

Building high-performance virtual machines is a complex and expensive undertaking; many popular languages still have low-performance implementations. We describe 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. The approach relies on abstract syntax tree interpretation where a node can rewrite itself to a more specialized or more general node, together with an optimizing compiler that exploits the structure of the interpreter. The compiler uses speculative assumptions and deoptimization in order to produce efficient machine code. We show that high performance is attainable while preserving a modular and layered architecture, and that new high-performance language implementations can be obtained by writing little more than a stylized interpreter. We present benchmark results for our prototype JavaScript and Ruby implementations, and show how we achieved these results.

Christian Wimmer is a researcher at Oracle Labs, working on the Truffle dynamic language infrastructure, the Graal compiler, the Maxine VM, as well as on other projects that involve dynamic compilation and optimizations. His research interests span from compilers, virtual machines, and secure systems to component-based software architectures. He received a Dr. techn. degree in Computer Science (advisor: Prof. Hanspeter Moeossenboeck) from the Johannes Kepler University Linz, Austria. Before the time at Oracle, he was a postdoctoral researcher at the Department of Computer Science of the University of California, Irvine, working with Prof. Michael Franz.

Start time:
Location: MTV - 10 Forward
Duration: 1 hour 2 minutes
Channel: Main

Views since archived: 748

Small (640x380) Big (896x504)

WebM , Mpeg4
To download, right-click and select "Save Link As..."