Language implementation frameworks such as RPython and Truffle/Graal are effective tools for creating a high-performance language with lower effort than implementing from scratch. The two frameworks support only a single JIT compilation strategy, trace-based compilation and method-based compilation, but they have its own advantages and disadvantages. We proposed a meta-hybrid JIT compiler framework to take advantages of the two strategies as a language implementation framework. We also implemented a proof-of-concept framework called BacCaml. As a next step, in this position paper, we propose a new approach to realize a method-based baseline JIT compiler along with a trace-based JIT compilation. We aim to use it for further speed-up by preventing the path-divergence problem, which causes serious slow-down. We also show how to implement the baseline JIT compiler with minimal changes on top of RPython.


翻译:语言执行框架,如Rpython和Truffle/Graal等语言执行框架,是创造高性能语言的有效工具,从头开始执行的努力比执行要低。这两个框架只支持一个单一的JIT汇编战略,即基于追踪的汇编和基于方法的汇编,但也有其自身的优缺点。我们提出了一个超统性 JIT汇编框架,以利用这两个战略作为语言执行框架。我们还实施了称为BacCaml的概念验证框架。作为下一步,我们在本立场文件中提出了一种新办法,即实现基于方法的JIT基准汇编,同时实现基于追踪的JIT汇编。我们的目标是通过防止造成严重减速的路径发展速度问题来进一步加快速度。我们还展示了如何在Rpython顶部实施基本JIT汇编,同时进行最小的改动。

0
下载
关闭预览

相关内容

编译器(Compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
【Manning新书】C++并行实战,592页pdf,C++ Concurrency in Action
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
163+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
182+阅读 · 2019年10月11日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Lyra: A Benchmark for Turducken-Style Code Generation
Arxiv
0+阅读 · 2021年8月25日
VIP会员
相关VIP内容
【Manning新书】C++并行实战,592页pdf,C++ Concurrency in Action
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
163+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
182+阅读 · 2019年10月11日
Top
微信扫码咨询专知VIP会员