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.

On-stack replacement, distilled / D'Elia, Daniele Cono; Demetrescu, Camil. - In: ACM SIGPLAN NOTICES. - ISSN 1523-2867. - STAMPA. - 53:4(2018), pp. 166-180. (Intervento presentato al convegno 39th ACM SIGPLAN Conference on Programming Language Design and Implementation tenutosi a Philadelphia, PA; USA) [10.1145/3192366.3192396].

On-stack replacement, distilled

D'Elia, Daniele Cono
;
Demetrescu, Camil
2018

Abstract

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.
2018
39th ACM SIGPLAN Conference on Programming Language Design and Implementation
Dynamic compilers, deoptimization, debugging
04 Pubblicazione in atti di convegno::04c Atto di convegno in rivista
On-stack replacement, distilled / D'Elia, Daniele Cono; Demetrescu, Camil. - In: ACM SIGPLAN NOTICES. - ISSN 1523-2867. - STAMPA. - 53:4(2018), pp. 166-180. (Intervento presentato al convegno 39th ACM SIGPLAN Conference on Programming Language Design and Implementation tenutosi a Philadelphia, PA; USA) [10.1145/3192366.3192396].
File allegati a questo prodotto
File Dimensione Formato  
Cono-D'Elia_Postprint-On-stack-replacemen_2018.pdf

accesso aperto

Note: Versione editoriale disponibile https://dl.acm.org/citation.cfm?doid=3192366.3192396
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 858.53 kB
Formato Adobe PDF
858.53 kB Adobe PDF
Cono-D'Elia_On-stack-replacemen_2018.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.02 MB
Formato Adobe PDF
1.02 MB Adobe PDF   Contatta l'autore
PLDI’18_Frontespizio-indice_2018.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 627.02 kB
Formato Adobe PDF
627.02 kB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1120597
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 14
  • ???jsp.display-item.citation.isi??? 4
social impact