On-Stack Replacement, Distilled

被引:0
|
作者
D'Elia, Daniele Cono [1 ]
Demetrescu, Camil [1 ]
机构
[1] Sapienza Univ Rome, Rome, Italy
关键词
Dynamic compilers; deoptimization; debugging;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
On-stack replacement (OSR) is essential technology for adaptive optimization, allowing changes to code actively executing in a managed runtime. The engineering aspects of OSR are well-known among VM architects, with several implementations available to date. However, OSR is yet to be explored as a general means to transfer execution between related program versions, which can pave the road to unprecedented applications that stretch beyond VMs. We aim at filling this gap with a constructive and provably correct OSR framework, allowing a class of general-purpose transformation functions to yield a special-purpose replacement. We describe and evaluate an implementation of our technique in LLVM. As a novel application of OSR, we present a feasibility study on debugging of optimized code, showing how our techniques can be used to fix variables holding incorrect values at breakpoints due to optimizations.
引用
收藏
页码:166 / 180
页数:15
相关论文
共 50 条
  • [1] 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
  • [2] 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
  • [3] 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
  • [4] A Modular Approach to On-Stack Replacement in LLVM
    Lameed, Nurudeen
    Hendren, Laurie
    ACM SIGPLAN NOTICES, 2013, 48 (07) : 143 - 154
  • [5] Deoptless: Speculation with Dispatched On-Stack Replacement and Specialized Continuations
    Fluckiger, Olivier
    Jecmen, Jan
    Krynski, Sebastian
    Vitek, Jan
    PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22), 2022, : 749 - 761
  • [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] MEASUREMENT OF OPACITY AND PARTICULATE EMISSIONS WITH AN ON-STACK TRANSMISSOMETER
    BEUTNER, HP
    JOURNAL OF THE AIR POLLUTION CONTROL ASSOCIATION, 1974, 24 (09): : 865 - 871