SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Wed 18 Nov 2020 11:40 - 12:00 at OOPSLA/ECOOP - W-3
Wed 18 Nov 2020 23:40 - 00:00 at OOPSLA/ECOOP - W-3

The academia has spent much effort into making context-sensitive analyses practical, with great profit. However, the implementation of context-sensitive optimizations, in contrast to analyses, is still not practical, due to code-size explosion. This growth happens because current technology requires the cloning of full paths in the Calling Context Tree. In this paper, we present a solution to this problem. We combine finite state machines and dynamic dispatching to allow fully context-sensitive specialization while cloning only functions that are effectively optimized. This technique makes it possible to apply very liberal optimizations, such as context-sensitive constant propagation, in large programs – something that could not have been easily done before. We demonstrate the viability of our idea by formalizing it in Prolog, and implementing it in LLVM. As a proof of concept, we have used our state machines to implement context-sensitive constant propagation in LLVM. The binaries produced by traditional full cloning are 2.63 times larger than the binaries that we generate with our state machines.

Wed 18 Nov
Times are displayed in time zone: Central Time (US & Canada) change

11:00 - 12:20: W-3OOPSLA at OOPSLA/ECOOP +12h
11:00 - 11:20
Talk
OOPSLA
Sarah SpallIndiana University, Neil MitchellFacebook, Sam Tobin-HochstadtIndiana University
11:20 - 11:40
Talk
OOPSLA
Vsevolod LivinskiiUniversity of Utah, Dmitry BabokinIntel Corporation, John RegehrUniversity of Utah
11:40 - 12:00
Talk
OOPSLA
DOI Pre-print
12:00 - 12:20
Talk
OOPSLA
Shankara PailoorUniversity of Texas at Austin, USA, Xinyu WangUniversity of Michigan, Hovav ShachamUniversity of Texas at Austin, USA, Isil DilligUniversity of Texas at Austin, USA
23:00 - 00:20: W-3OOPSLA at OOPSLA/ECOOP
23:00 - 23:20
Talk
OOPSLA
Sarah SpallIndiana University, Neil MitchellFacebook, Sam Tobin-HochstadtIndiana University
23:20 - 23:40
Talk
OOPSLA
Vsevolod LivinskiiUniversity of Utah, Dmitry BabokinIntel Corporation, John RegehrUniversity of Utah
23:40 - 00:00
Talk
OOPSLA
DOI Pre-print
00:00 - 00:20
Talk
OOPSLA
Shankara PailoorUniversity of Texas at Austin, USA, Xinyu WangUniversity of Michigan, Hovav ShachamUniversity of Texas at Austin, USA, Isil DilligUniversity of Texas at Austin, USA