Truffle: a self-optimizing runtime system

Truffle: a self-optimizing runtime system
复制标题

Truffle:一个自我优化的运行时系统

DOI:
--
复制
发表时间:
2012
期刊:
ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity
影响因子:
--
通讯作者:
Thomas Würthinger
Thomas Würthinger
中科院分区:
--
文献类型:
--
作者:
Christian Wimmer;Thomas Würthinger

文献摘要

被引文献

相似文献

我们介绍了Truffle,一个在Java™中实现托管语言的新框架。语言实现者编写了一个AST解释器,它集成在我们的框架中,允许在AST解释期间重写树。树重写将类型反馈和其他分析信息合并到树中,从而专门化树并使用运行时信息对其进行扩充。当树达到稳定状态时,部分求值将树编译为优化的机器代码。部分评估由Graal完成,Graal是我们的Java VM(Java HotSpot VM的变体)的即时编译器。为了表明Truffle支持各种编程语言范例,我们提出了JavaScript(一种动态类型编程语言)和J(一种数组编程语言)的原型实现。
We present Truffle, a novel framework for implementing managed languages in Java™. The language implementer writes an AST interpreter, which is integrated in our framework that allows tree rewriting during AST interpretation. Tree rewrites incorporate type feedback and other profiling information into the tree, thus specializing the tree and augmenting it with run-time information. When the tree reaches a stable state, partial evaluation compiles the tree into optimized machine code. The partial evaluation is done by Graal, the just-in-time compiler of our Java VM (a variation of the Java HotSpot VM). To show that Truffle supports a variety of programming language paradigms, we present prototype implementations of JavaScript (a dynamically typed programming language) and J (an array programming language).