首页> 外文OA文献 >Interprocedural Type Specialization of JavaScript Programs Without Type Analysis
【2h】

Interprocedural Type Specialization of JavaScript Programs Without Type Analysis

机译:没有类型分析的Javascript程序的过程间类型专业化

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Previous work proposed lazy basic block versioning, a technique for just-in-time compilation of dynamic languages which we believe represents an interesting point in the design space. Basic block versioning is simple to implement, simple enough that a single developer can build a complete just-in-time compiler for JavaScript in a year, yet it performs surprisingly well as it propagatescontext-sensitive type information to generate type-specialized code on the fly.In this paper, we demonstrate that lazy basic block versioningcan be extended is simple ways to propagate type information across function call boundaries. This gives some of the benefits of whole-program analysis, or a tracing compiler, without having to implement the machinery for either. We have implemented this proposal in the Higgs JavaScript virtual machine and report on the empirical evaluation of this system on a set of industry standard benchmarks. The approach eliminates 94.3 of dynamic type tests on average,which we show is more than what is achievable with any static whole-program type analysis.
机译:先前的工作提出了惰性基本块版本控制,这是一种用于动态语言的即时编译的技术,我们认为它代表了设计空间中的一个有趣的观点。基本块版本控制易于实现,非常简单,以至于单个开发人员可以在一年内为JavaScript构建完整的即时编译器,但它在传播上下文相关类型信息以在Java上生成类型专用代码的过程中却表现出众。在本文中,我们证明了可以扩展惰性基本块版本控制是跨函数调用边界传播类型信息的简单方法。这提供了整个程序分析或跟踪编译器的某些好处,而无需为此而实现任何机制。我们已经在Higgs JavaScript虚拟机中实施了该建议,并根据一组行业标准基准对该系统进行了经验评估。该方法平均消除了94.3个动态类型测试,这比任何静态的整个程序类型分析都可以实现的要多。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号