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.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.