...
首页> 外文期刊>LIPIcs : Leibniz International Proceedings in Informatics >Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis
【24h】

Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis

机译:没有静态分析的高阶动态语言的过程间专业化

获取原文
   

获取外文期刊封面封底 >>

       

摘要

Function duplication is widely used by JIT compilers to efficiently implement dynamic languages. When the source language supports higher order functions, the called function's identity is not generally known when compiling a call site, thus limiting the use of function duplication. This paper presents a JIT compilation technique enabling function duplication in the presence of higher order functions. Unlike existing techniques, our approach uses dynamic dispatch at call sites instead of relying on a conservative analysis to discover function identity. We have implemented the technique in a JIT compiler for Scheme. Experiments show that it is efficient at removing type checks, allowing the removal of almost all the run time type checks for several benchmarks. This allows the compiler to generate code up to 50% faster. We show that the technique can be used to duplicate functions using other run time information opening up new applications such as register allocation based duplication and aggressive inlining.
机译:JIT编译器广泛使用函数复制来有效地实现动态语言。当源语言支持高阶函数时,在编译调用站点时通常不知道被调用函数的身份,从而限制了函数复制的使用。本文提出了一种JIT编译技术,可在存在高阶函数的情况下实现函数复制。与现有技术不同,我们的方法在呼叫站点使用动态调度,而不是依靠保守的分析来发现功能标识。我们已经在Scheme的JIT编译器中实现了该技术。实验表明,它在删除类型检查方面非常有效,可以删除几个基准测试的几乎所有运行时类型检查。这使编译器生成代码的速度提高了50%。我们展示了该技术可用于使用其他运行时信息来打开新应用程序来复制功能,例如基于寄存器分配的复制和主动内联。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号