Making the Compilation “ Pipeline ” Explicit : Dynamic Compilation Using Trace Tree Serialization

Making the Compilation “ Pipeline ” Explicit : Dynamic Compilation Using Trace Tree Serialization
复制标题

使编译“管道”显式化:使用跟踪树序列化进行动态编译

DOI:
--
复制
发表时间:
2007
期刊:
影响因子:
--
通讯作者:
M. Franz
M. Franz
中科院分区:
--
文献类型:
--
作者:
A. Gal;Michael Bebenita;Mason Chang;M. Franz

文献摘要

被引文献

相似文献

基于痕量的编译器通过动态发现循环标头,然后通过频率足够频率执行的循环进行记录和编译所有路径。通过每个环的不同路径形成一棵树,循环标头处在根部,其中共享的代码在上游共享。可以以特定的方式序列化此类痕迹,使我们能够将编译器管道作为一系列过滤器组织。我们已经实施了具有完全线性运行时行为的编译器管道。此外,它只有两个写入障碍,这意味着汇编工作的大部分部分可能会在未来的多核平台上平行。
Trace-based compilers operate by dynamically discovering loop headers and then recording and compiling all paths through a loop that are executed with sufficient frequency. The different paths through each loop form a tree, with the loop header at the root, in which common code is shared up-stream. Such trace-trees can be serialized in a specific manner that allows us to organize the compiler pipeline as a series of filters. We have implemented such a compiler pipeline that has completely linear runtime behavior. Further, it has only two write barriers, meaning that substantial parts of the compilation effort could potentially be parallelized on future multi-core platforms.