Wed 18 Nov 2020 23:40 - 00:00 at SPLASH-I - W-3 Chair(s): Yuting Wang, Alex Potanin
Academia has spent much effort into making context-sensitive
{\em analyses} practical, with great profit.
However, the implementation of context-sensitive {\em 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.
When applied on Mozilla Firefox, our optimization increases binary size from 7.2MB to 9.2MB.
Full cloning, in contrast, yields a binary of 34MB.
Wed 18 Nov Times are displayed in time zone: Central Time (US & Canada) change
11:00 - 12:20: W-3OOPSLA at SPLASH-I +12h Chair(s): Eelco VisserDelft University of Technology, Dan BarowyWilliams College | |||
11:00 - 11:20 Talk | Build Scripts with Perfect Dependencies OOPSLA Link to publication DOI Media Attached | ||
11:20 - 11:40 Talk | Random Testing for C and C++ Compilers with YARPGen OOPSLA Vsevolod LivinskiiUniversity of Utah, Dmitry BabokinIntel Corporation, John RegehrUniversity of Utah Link to publication DOI Media Attached | ||
11:40 - 12:00 Talk | Dynamic Dispatch of Context-Sensitive Optimizations OOPSLA Link to publication DOI Pre-print Media Attached | ||
12:00 - 12:20 Talk | Automated Policy Synthesis for System Call Sandboxing OOPSLA Shankara PailoorUniversity of Texas at Austin, Xinyu WangUniversity of Michigan, Hovav ShachamUniversity of Texas at Austin, Isil DilligUniversity of Texas at Austin Link to publication DOI Media Attached |
23:00 - 00:20: W-3OOPSLA at SPLASH-I Chair(s): Yuting WangShanghai Jiao Tong University, Alex PotaninVictoria University of Wellington | |||
23:00 - 23:20 Talk | Build Scripts with Perfect Dependencies OOPSLA Link to publication DOI Media Attached | ||
23:20 - 23:40 Talk | Random Testing for C and C++ Compilers with YARPGen OOPSLA Vsevolod LivinskiiUniversity of Utah, Dmitry BabokinIntel Corporation, John RegehrUniversity of Utah Link to publication DOI Media Attached | ||
23:40 - 00:00 Talk | Dynamic Dispatch of Context-Sensitive Optimizations OOPSLA Link to publication DOI Pre-print Media Attached | ||
00:00 - 00:20 Talk | Automated Policy Synthesis for System Call Sandboxing OOPSLA Shankara PailoorUniversity of Texas at Austin, Xinyu WangUniversity of Michigan, Hovav ShachamUniversity of Texas at Austin, Isil DilligUniversity of Texas at Austin Link to publication DOI Media Attached |