SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Fri 20 Nov 2020 23:00 - 23:20 at OOPSLA/ECOOP - F-3A
Fri 20 Nov 2020 11:00 - 11:20 at OOPSLA/ECOOP - F-3A

In order to generate efficient code for dynamic languages, compilers often need information not readily available in the source code. Leveraging a mixture of static and dynamic information, just-in-time compilers can speculate on the missing information. Within one compilation unit, code is specialized to the observed behaviors. We propose an approach to further the specialization, by disentangling classes of behaviors into separate optimization units. With contextual dispatch, functions are versioned and each version is compiled under different assumptions. When a function is invoked, the implementation dispatches to a version that was optimized under assumptions matching the dynamic context of the call. As a proof-of-concept, we describe a compiler for the R language which uses this approach. We evaluate contextual dispatch on a set of benchmarks and compare to traditional speculation with deoptimization techniques. Our implementation is, on average, 1.7× faster than the GNU R reference implementation, and contextual dispatch contributes to the performance significantly in 18 of 46 programs in our benchmark suite.

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

11:00 - 12:20: F-3AOOPSLA at OOPSLA/ECOOP +12h
11:00 - 11:20
Talk
OOPSLA
Olivier FlückigerNortheastern University, USA, Guido ChariASAPP Inc, Ming-Ho YeeNortheastern University, Jan JecmenCzech Technical University, Jakob HainNortheastern University, Jan VitekNortheastern University
DOI Pre-print
11:20 - 11:40
Talk
OOPSLA
Magnus MadsenAarhus University, Ondřej LhotákUniversity of Waterloo
11:40 - 12:00
Talk
OOPSLA
Julie L. NewcombUniversity of California at Berkeley, Andrew AdamsAdobe, Steven JohnsonGoogle, Rastislav BodikUniversity of Washington, Shoaib KamilAdobe
12:00 - 12:20
Talk
OOPSLA
Magnus MadsenAarhus University, Jaco van de PolAarhus University
23:00 - 00:20: F-3AOOPSLA at OOPSLA/ECOOP
23:00 - 23:20
Talk
OOPSLA
Olivier FlückigerNortheastern University, USA, Guido ChariASAPP Inc, Ming-Ho YeeNortheastern University, Jan JecmenCzech Technical University, Jakob HainNortheastern University, Jan VitekNortheastern University
DOI Pre-print
23:20 - 23:40
Talk
OOPSLA
Magnus MadsenAarhus University, Ondřej LhotákUniversity of Waterloo
23:40 - 00:00
Talk
OOPSLA
Julie L. NewcombUniversity of California at Berkeley, Andrew AdamsAdobe, Steven JohnsonGoogle, Rastislav BodikUniversity of Washington, Shoaib KamilAdobe
00:00 - 00:20
Talk
OOPSLA
Magnus MadsenAarhus University, Jaco van de PolAarhus University