GPCE 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
co-located with SPLASH 2021
Sun 17 Oct 2021 14:35 - 14:50 at Zurich C - GPCE/SLE Session 3 Chair(s): Davide Di Ruscio
Sun 17 Oct 2021 22:35 - 22:50 at Zurich C - GPCE/SLE Session 3 Chair(s): Alex Potanin

On-stack replacement (OSR) describes the ability to replace currently executing code with a different version, either a more optimized one (tiered execution) or a more general one (deoptimization to undo speculative optimization). While OSR is a key component in all modern VMs for languages like Java or JavaScript, OSR has only recently been studied as a more abstract program transformation, independent of language VMs. Still, previous work has only considered OSR in the context of low-level execution models based on stack frames, labels, and jumps.

With the goal of making OSR more broadly applicable, this paper presents a surprisingly simple pattern for implementing OSR in source-to-source compilers or explicit program generators that target languages with structured control flow (loops and conditionals). We evaluate our approach through experiments demonstrating both tiered execution and speculative optimization, based on representative code patterns in the context of a state-of-the-art in-memory database system that compiles SQL queries to C at runtime. We further show that casting OSR as a high-level transformation enables new speculative optimization patterns beyond what is commonly implemented in language VMs.

Sun 17 Oct

Displayed time zone: Central Time (US & Canada) change

13:50 - 15:10
GPCE/SLE Session 3GPCE at Zurich C +8h
Chair(s): Davide Di Ruscio University of L'Aquila
13:50
15m
Talk
A Variational Database Management SystemVirtual
GPCE
Parisa Ataei Oregon State University, Fariba Khan Oregon State University, Eric Walkingshaw Unaffiliated
14:05
15m
Talk
The Life Cycle of Features in Highly-Configurable Software Systems Evolving in Space and TimeVirtual
GPCE
Gabriela Karoline Michelon Johannes Kepler University Linz, Wesley Assunção Pontifical Catholic University of Rio de Janeiro (PUC-Rio), David Obermann Johannes Kepler University Linz, Lukas Linsbauer TU Braunschweig, Paul Grünbacher Johannes Kepler University Linz, Austria, Alexander Egyed Johannes Kepler University Linz
14:20
15m
Talk
Towards Supporting SPL Engineering in Low-Code Platforms using a DSL ApproachVirtual
GPCE
Alexandre Bragança Institute of Engineering of Porto – Polytechnic of Porto (ISEP/IPP), Isabel Azevedo Games, Interaction and Learning Technologies (GILT) - Institute of Engineering of Porto – Polytechnic of Porto (ISEP/IPP), Nuno Bettencourt Interdisciplinary Studies Research Center (ISRC) – Institute of Engineering of Porto – Polytechnic of Porto (ISEP/IPP), Carlos Morais NumbersBelieve, Diogo Teixeira NumbersBelieve, David Caetano NumbersBelieve
14:35
15m
Talk
On-Stack Replacement for Program Generators and Source-to-Source CompilersVirtual
GPCE
Gregory Essertel Purdue University, Ruby Tahboub Purdue University, Tiark Rompf Purdue University
14:50
20m
Live Q&A
Discussion, Questions, Answers
GPCE

21:50 - 23:10
GPCE/SLE Session 3GPCE at Zurich C
Chair(s): Alex Potanin Victoria University of Wellington
21:50
15m
Talk
A Variational Database Management SystemVirtual
GPCE
Parisa Ataei Oregon State University, Fariba Khan Oregon State University, Eric Walkingshaw Unaffiliated
22:05
15m
Talk
The Life Cycle of Features in Highly-Configurable Software Systems Evolving in Space and TimeVirtual
GPCE
Gabriela Karoline Michelon Johannes Kepler University Linz, Wesley Assunção Pontifical Catholic University of Rio de Janeiro (PUC-Rio), David Obermann Johannes Kepler University Linz, Lukas Linsbauer TU Braunschweig, Paul Grünbacher Johannes Kepler University Linz, Austria, Alexander Egyed Johannes Kepler University Linz
22:20
15m
Talk
Towards Supporting SPL Engineering in Low-Code Platforms using a DSL ApproachVirtual
GPCE
Alexandre Bragança Institute of Engineering of Porto – Polytechnic of Porto (ISEP/IPP), Isabel Azevedo Games, Interaction and Learning Technologies (GILT) - Institute of Engineering of Porto – Polytechnic of Porto (ISEP/IPP), Nuno Bettencourt Interdisciplinary Studies Research Center (ISRC) – Institute of Engineering of Porto – Polytechnic of Porto (ISEP/IPP), Carlos Morais NumbersBelieve, Diogo Teixeira NumbersBelieve, David Caetano NumbersBelieve
22:35
15m
Talk
On-Stack Replacement for Program Generators and Source-to-Source CompilersVirtual
GPCE
Gregory Essertel Purdue University, Ruby Tahboub Purdue University, Tiark Rompf Purdue University
22:50
20m
Live Q&A
Discussion, Questions, Answers
GPCE