Deoptless: Speculation with Dispatched On-Stack Replacement and Specialized Continuations

被引:2
|
作者
Fluckiger, Olivier [1 ]
Jecmen, Jan [2 ]
Krynski, Sebastian [2 ]
Vitek, Jan [1 ,2 ]
机构
[1] Northeastern Univ, Boston, MA 02115 USA
[2] Czech Tech Univ, Prague, Czech Republic
基金
美国国家科学基金会; 欧洲研究理事会;
关键词
Speculative optimizations; deoptimization; on-stack replacement; just-in-time compilation;
D O I
10.1145/3519939.3523729
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:749 / 761
页数:13
相关论文
共 10 条
  • [1] On-Stack Replacement, Distilled
    D'Elia, Daniele Cono
    Demetrescu, Camil
    ACM SIGPLAN NOTICES, 2018, 53 (04) : 166 - 180
  • [2] On-Stack Replacement, Distilled
    D'Elia, Daniele Cono
    Demetrescu, Camil
    PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 166 - 180
  • [3] Flexible on-stack replacement in LLVM
    D'Elia, Daniele Cono
    Demetrescu, Camil
    Proceedings of the 14th International Symposium on Code Generation and Optimization, CGO 2016, 2016, : 250 - 260
  • [4] Flexible On-Stack Replacement in LLVM
    D'Elia, Daniele Cono
    Demetrescu, Camil
    PROCEEDINGS OF CGO 2016: THE 14TH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2016, : 250 - 260
  • [5] A Modular Approach to On-Stack Replacement in LLVM
    Lameed, Nurudeen
    Hendren, Laurie
    ACM SIGPLAN NOTICES, 2013, 48 (07) : 143 - 154
  • [6] Design, implementation and evaluation of adaptive recompilation with on-stack replacement
    Fink, SJ
    Qian, F
    CGO 2003: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2003, : 241 - 252
  • [7] On-Stack Replacement to Improve JIT-based Obfuscation
    Yusuf, Marwa
    El-Mahdy, Ahmed
    Rohou, Erven
    PROCEEDINGS OF THE 2013 SECOND INTERNATIONAL JAPAN-EGYPT CONFERENCE ON ELECTRONICS, COMMUNICATIONS AND COMPUTERS (JEC-ECC), 2013, : 94 - 99
  • [8] Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction
    Mosaner, Raphael
    Leopoldseder, David
    Rigger, Manuel
    Schatz, Roland
    Moessenboeck, Hanspeter
    PROCEEDINGS OF THE 16TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON MANAGED PROGRAMMING LANGUAGES AND RUNTIMES (MPLR '19), 2019, : 1 - 13
  • [9] Towards automatic binary runtime loop de-parallelization using on-stack replacement
    Yusuf, Marwa
    El-Mandy, Ahmed
    Rohou, Erven
    INFORMATION PROCESSING LETTERS, 2019, 145 : 53 - 57
  • [10] Hop, Skip, & Jump Practical On-Stack Replacement for a Cross-Platform Language-Neutral VM
    Wang, Kunshan
    Blackburn, Stephen M.
    Hosking, Antony L.
    Norrish, Michael
    ACM SIGPLAN NOTICES, 2018, 53 (03) : 1 - 16