Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming &Amp; Software 2013
DOI: 10.1145/2509578.2509581
|View full text |Cite
|
Sign up to set email alerts
|

One VM to rule them all

Abstract: 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 (VM) 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 (AST) interpretation where a node can rewrite itself to a more specialized or more general node, together with an optimizing… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
133
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
4
3
3

Relationship

1
9

Authors

Journals

citations
Cited by 242 publications
(133 citation statements)
references
References 55 publications
0
133
0
Order By: Relevance
“…In combination with the Graal JIT compiler [24], selfoptimizing interpreters can reach performance of the same order of magnitude as Java on top of HotSpot [13]. To reach this performance, Truffle applies partial evaluation on the specialized ASTs to determine the compilation unit that corresponds to a relevant part of a guest-language's program, which is then optimized and compiled to native code by Graal using classic compiler optimizations, inlining, and escape analysis.…”
Section: Truffle and Graalmentioning
confidence: 99%
“…In combination with the Graal JIT compiler [24], selfoptimizing interpreters can reach performance of the same order of magnitude as Java on top of HotSpot [13]. To reach this performance, Truffle applies partial evaluation on the specialized ASTs to determine the compilation unit that corresponds to a relevant part of a guest-language's program, which is then optimized and compiled to native code by Graal using classic compiler optimizations, inlining, and escape analysis.…”
Section: Truffle and Graalmentioning
confidence: 99%
“…It is based on the notion of self-optimizing AST interpreters that can be compiled to highly-optimized machine code by the Graal compiler [34], which uses partial evaluation. Language implementations using Truffle include JavaScript, R, Smalltalk, and Ruby [26].…”
Section: The Truffle Object Storage Modelmentioning
confidence: 99%
“…Truffle [45,46] is a platform for building high-performance language implementations. A Truffle language implementation is an AST interpreter, where the source code of the guest language is compiled to an AST that can then be executed.…”
Section: Truffle and Graalmentioning
confidence: 99%