Tue 27 Oct 2015 16:18 - 16:42 at Grand Station 3 - Session 4, Empirical Studies

Modern JavaScript engines optimize hot functions using a JIT compiler along with type information gathered by an online profiler. However, the profiler’s information can be unsound and when unexpected types are encountered the engine must recover using an expensive mechanism called deoptimization. In this paper we describe a method to significantly reduce the number of deoptimizations observed by client-side JavaScript engines by using ahead-of-time profiling on the server-side. Unlike previous work on ahead-of-time profiling for statically-typed languages such as Java, our technique must operate on a dynamically-typed language, which significantly changes the required insights and methods to make the technique effective. We implement our proposed technique using the SpiderMonkey JavaScript engine, and we evaluate our implementation using three different kinds of benchmarks: the industry-standard Octane benchmark suite, a set of JavaScript physics engines, and a set of real-world websites from the Membench50 benchmark suite. We show that using ahead-of-time profiling provides significant performance benefits over the baseline vanilla SpiderMonkey engine.

Tue 27 Oct

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

15:30 - 17:30
Session 4, Empirical StudiesDLS at Grand Station 3
15:30
24m
Talk
Measuring Polymorphism in Python Programs
DLS
Beatrice Åkerblom Stockholm University, Tobias Wrigstad Uppsala University
15:54
24m
Talk
Tracking Down Performance Variation Against Source Code Evolution
DLS
Juan Pablo Sandoval Alcocer Universidad Católica Boliviana San Pablo, Alexandre Bergel
16:18
24m
Talk
Server-Side Type Profiling for Optimizing Client-Side JavaScript Engines
DLS
Madhukar Kedlaya University of California, Santa Barbara, Behnam Robatmili Qualcomm Research, Ben Hardekopf UC Santa Barbara
16:42
24m
Talk
An Empirical Investigation of the Effects of Type Systems and Code Completion on API Usability using TypeScript and JavaScript in MS Visual Studio
DLS
Lars Fischer University of Duisburg-Essen, Essen, Germany, Stefan Hanenberg University of Duisburg-Essen
17:06
24m
Talk
Access Control to Reflection with Object Ownership
DLS
Camille Teruel INRIA, Stéphane Ducasse INRIA, France, Damien Cassou Lille 1 University, Marcus Denker INRIA Lille