Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation 2017
DOI: 10.1145/3062341.3062381
|View full text |Cite
|
Sign up to set email alerts
|

Practical partial evaluation for high-performance dynamic language runtimes

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
36
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 73 publications
(37 citation statements)
references
References 42 publications
0
36
0
Order By: Relevance
“…We implemented our record & replay solution for communicating event-loop actors in SOMns. SOMns is written in Java as a selfoptimizing abstract syntax tree (AST) interpreter [44] using the Truffle framework and Graal just-in-time compiler [43]. This allows us to integrate record & replay directly into the language implementation.…”
Section: Methodsmentioning
confidence: 99%
“…We implemented our record & replay solution for communicating event-loop actors in SOMns. SOMns is written in Java as a selfoptimizing abstract syntax tree (AST) interpreter [44] using the Truffle framework and Graal just-in-time compiler [43]. This allows us to integrate record & replay directly into the language implementation.…”
Section: Methodsmentioning
confidence: 99%
“…To achieve high performance, Trule partially evaluates [30,31] the trees and dynamically compiles them to optimized machine code. For dynamic compilation it uses the Graal compiler [9, 10, 12, 24ś 26].…”
Section: Trufle and Graalmentioning
confidence: 99%
“…Furthermore, our approach avoids changes to the Java bytecode and the Java language itself, which makes it a completely transparent and backwardcompatible solution. 1 Project Valhalla, http:⁄⁄openjdk.java.net⁄projects⁄valhalla⁄ 1 To demonstrate our approach, we use Trule [30,31], a language implementation framework that was designed for the implementation of dynamically-typed languages on top of a JVM, and use it to implement a Java bytecode interpreter, which we call TruleBC. Our performance evaluation shows that it is possible to outperform state of the art JVMs by applying code and data optimizations designed for dynamically-typed languages to a statically-typed language such as Java.…”
Section: Introductionmentioning
confidence: 99%
“…Sulong is used in the multilingual GraalVM [7,18,25] to implement native function interfaces of dynamic languages such as TruffleRuby [2]. All these language implementations are based on a common language implementation framework, called Truffle [31]. It uses dynamic-compilation based on profiling information gathered during interpretation of abstract syntax trees (ASTs) for efficient execution of the implemented language.…”
Section: Introductionmentioning
confidence: 99%