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 条
  • [1] Just-in-time value specialization
    de Assis Costa, Igor Rafael
    Santos, Henrique Nazare
    Alves, Pericles Rafael
    Quintao Pereira, Fernando Magno
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2014, 40 (02) : 37 - 52
  • [2] Just-in-Time Value Specialization
    Costa, Igor
    Alves, Pericles
    Santos, Henrique Nazare
    Quintao Pereira, Fernando Magno
    [J]. PROCEEDINGS OF THE 2013 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2013, : 302 - 312
  • [3] Optimizing MATLAB through Just-In-Time Specialization
    Chevalier-Boisvert, Maxime
    Hendren, Laurie
    Verbrugge, Clark
    [J]. COMPILER CONSTRUCTION, PROCEEDINGS, 2010, 6011 : 46 - 65
  • [4] TASTYTRUFFLE: Just-in-Time Specialization of Parametric Polymorphism
    D'Souza, Matt
    You, James
    Lhotak, Ondrej
    Prokopec, Aleksandar
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA): : 1561 - 1588
  • [5] Portable Just-in-Time Specialization of Dynamically Typed Scripting Languages
    Williams, Kevin
    McCandless, Jason
    Gregg, David
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2010, 5898 : 391 - 398
  • [6] Trace-based Just-in-Time Type Specialization for Dynamic Languages
    Gal, Andreas
    Eich, Brendan
    Shaver, Mike
    Anderson, David
    Mandelin, David
    Haghighat, Mohammad R.
    Kaplan, Blake
    Hoare, Graydon
    Zbarsky, Boris
    Orendorff, Jason
    Ruderman, Jesse
    Smith, Edwin
    Reitmaier, Rick
    Bebenita, Michael
    Chang, Mason
    Franz, Michael
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (06) : 465 - 478
  • [7] Trace-based Just-in-Time Type Specialization for Dynamic Languages
    Gal, Andreas
    Eich, Brendan
    Shaver, Mike
    Anderson, David
    Mandelin, David
    Haghighat, Mohammad R.
    Kaplan, Blake
    Hoare, Graydon
    Zbarsky, Boris
    Orendorff, Jason
    Ruderman, Jesse
    Smith, Edwin
    Reitmaier, Rick
    Bebenita, Michael
    Chang, Mason
    Franz, Michael
    [J]. PLDI'09 PROCEEDINGS OF THE 2009 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2009, : 465 - 478
  • [8] Quality Criteria for Just-in-Time Requirements: Just Enough, Just-in-Time?
    Heck, Petra
    Zaidman, Andy
    [J]. 1ST INTERNATIONAL WORKSHOP ON JUST-IN-TIME RE (JIT RE 2015), 2015, : 1 - 4
  • [9] Just-in-Time
    Batte, Anwar
    [J]. ART IN AMERICA, 2015, 103 (05): : 163 - 164
  • [10] Just-in-Time Routing and Scheduling for Multiple Automated Guided Vehicles
    Nishida, Kousei
    Nishi, Tatsushi
    Kaname, Hideki
    Kumagai, Kenji
    Higashi, Toshimitsu
    [J]. 2019 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS (SMC), 2019, : 841 - 846