arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1411.7839cs.PL
收藏

一种基于抽象解释的即时编译跟踪模型

An Abstract Interpretation-based Model of Tracing Just-In-Time Compilation

Stefano Dissegna, Francesco Logozzo, Francesco Ranzato

摘要:

跟踪即时编译是一种流行的动态语言编译技术,通常用于JavaScript、Python和PHP。我们提供了一个正式的模型跟踪JIT编译程序使用抽象解释。热路径检测对应于程序的跟踪语义的抽象。优化阶段对应于原始程序的转换,该转换保留其跟踪语义,直到通过某种抽象建模的观察。我们提供了一个通用的框架来表达动态优化,并证明他们是正确的。我们实例化它来证明动态类型特殊化和常量变量折叠的正确性。我们证明了我们的框架比Guo和Palsberg [2011]基于操作互模拟引入的跟踪编译模型更通用。

英文摘要:

Tracing just-in-time compilation is a popular compilation technique for the efficient implementation of dynamic languages, which is commonly used for JavaScript, Python and PHP. We provide a formal model of tracing JIT compilation of programs using abstract interpretation. Hot path detection corresponds to an abstraction of the trace semantics of the program. The optimization phase corresponds to a transform of the original program that preserves its trace semantics up to an observation modeled by some abstraction. We provide a generic framework to express dynamic optimizations and prove them correct. We instantiate it to prove the correctness of dynamic type specialization and constant variable folding. We show that our framework is more general than the model of tracing compilation introduced by Guo and Palsberg [2011] based on operational bisimulations.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑