论文标题
Deoptless:通过派遣堆栈替换和专业连续性进行猜测
Deoptless: Speculation with Dispatched On-Stack Replacement and Specialized Continuations
论文作者
论文摘要
即时汇编为编写动态语言编写的程序提供了重大的性能改进。这些好处来自编译器推测可能情况并为这些情况生成优化代码的能力。不可避免地,猜测有时会失败,并且必须恢复优化。在某些病理情况下,这可能会使该程序陷入次优码。在本文中,我们提出了Deoptless,这项技术用派遣的专业连续性取代了Deoptimization点。无能为力的目的是迈出一步,为用户提供更透明的性能模型,在这种模型中,神秘的放缓速度不那么频繁和严重。
Just-in-time compilation provides significant performance improvements for programs written in dynamic languages. These benefits come from the ability of the compiler to speculate about likely cases and generate optimized code for these. Unavoidably, speculations sometimes fail and the optimizations must be reverted. In some pathological cases, this can leave the program stuck with suboptimal code. In this paper we propose deoptless, a technique that replaces deoptimization points with dispatched specialized continuations. The goal of deoptless is to take a step towards providing users with a more transparent performance model in which mysterious slowdowns are less frequent and grave.