【24h】

The Essence of Compiling with Traces

机译:用痕迹编译的本质

获取原文

摘要

The technique of trace-based just-in-time compilation was introduced by Bala et al. and was further developed by Gal et al. It currently enjoys success in Mozilla Firefox's JavaScript engine. A trace-based JIT compiler leverages run-time profiling to optimize frequently-executed paths while enabling the optimized code to "bail out" to the original code when the path has been invalidated. This optimization strategy differs from those of other JIT compilers and opens the question of which trace optimizations are sound. In this paper we present a framework for reasoning about the soundness of trace optimizations, and we show that some traditional optimization techniques are sound when used in a trace compiler while others are unsound. The converse is also true: some trace optimizations are sound when used in a traditional compiler while others are unsound. So, traditional and trace optimizations form incomparable sets. Our setting is an imperative calculus for which tracing is explicitly spelled out in the semantics. We define optimization soundness via a notion of bisimulation, and we show that sound optimizations lead to confluence and determinacy of stores.
机译:Bala等人介绍了基于痕量的立即编译技术。并进一步由Gal等人开发。它目前在Mozilla Firefox的JavaScript引擎中享有成功。基于轨迹的JIT编译器利用运行时分析来优化常用的路径,同时在路径无效时使优化的代码能够将优化的代码“扣除”到原始代码。这种优化策略与其他JIT编译器的策略不同,并打开追踪优化是声音的问题。在本文中,我们介绍了一个框架,了解跟踪优化的声音,我们表明,在跟踪编译器中使用时,一些传统的优化技术是声音的,而其他传统的优化技术则其他是不合作的。交谈也是如此:在传统的编译器中使用时,一些跟踪优化是声音的,而其他则在其他的编译器中使用。所以,传统和跟踪优化形成无与伦比的集合。我们的环境是一个命令小学,在语义中明确拼写追踪。我们通过分布的概念定义优化声,我们表明声音优化导致商店的汇合和确定性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号