Guided just-in-time specialization

被引:1
|
作者
Lima, Caio [1 ]
Cezar, Junio [1 ]
Leobas, Guilherme Vieira [1 ]
Rohou, Erven [2 ]
Quintao Pereira, Fernando Magno [1 ]
机构
[1] Ave Antonio Carlos 6627, Belo Horizonte, MG, Brazil
[2] Univ Rennes, Inria, CNRS, IRISA, Rennes, France
关键词
Code specialization; Just-in-time compilation; Program annotation; Performance; !text type='Java']Java[!/text]Script; !text type='JAVA']JAVA[!/text]SCRIPT; SEMANTICS; LANGUAGE;
D O I
10.1016/j.scico.2019.102318
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
JavaScript's portability across a vast ecosystem of browsers makes it today a core building block of the web. Yet, building efficient systems in JavaScript is still challenging. Because this language is so dynamic, JavaScript programs provide little information that just-in-time compilers can use to carry out safe optimizations. Motivated by this observation, we propose to guide the JIT compiler in the task of code specialization. To this end, we have augmented the language with an annotation that indicates which function call sites are likely to benefit from specialization. To support the automatic annotation of programs, we have introduced a novel static analysis that identifies profitable specialization points. We have implemented our ideas in JavaScriptCore, the built-in JavaScript engine for WebKit. The addition of guided specialization to this engine required us to change it in several non-trivial ways, which we describe in this paper. Such changes let us observe speedups of up to 1.7x on programs present in synthetic benchmarks. (C) 2019 Elsevier B.V. All rights reserved.
引用
收藏
页数:17
相关论文
共 50 条