Sun 14 Jun 2015 15:15 - 15:40 at C123 - Managed Languages Chair(s): Zheng Zhang

Languages that lack static typing are ubiquitous in the world of mobile and web applications. The rapid rise of larger applications like interactive web GUIs, games, and cryptography presents a new range of implementation challenges for modern virtual machines to close the performance gap between typed and untyped languages. While all languages can benefit from efficient automatic memory management, languages like JavaScript present extra thrill with innocent-looking but difficult features like dynamically-sized arrays, deletable properties, and prototypes. Optimizing such languages requires complex dynamic techniques with more radical object layout strategies such as dynamically evolving representations for arrays. This paper presents a general approach for gathering temporal allocation site feedback that tackles both the general problem of object lifetime estimation and improves optimization of these problematic language features. We introduce a new implementation technique where {\it allocation mementos} processed by the garbage collector and runtime system efficiently tie objects back to allocation sites in the program and dynamically estimate object lifetime, representation, and size to inform three optimizations: pretenuring, pretransitioning, and presizing. Unlike previous work on pretenuring, our system utilizes allocation mementos to achieve fully dynamic allocation-site-based pretenuring in a production system. We implement all of our techniques in V8, a high performance virtual machine for JavaScript, and demonstrate solid performance improvements across a range of benchmarks.

Sun 14 Jun

Displayed time zone: Tijuana, Baja California change

14:00 - 15:40
Managed LanguagesResearch Papers at C123
Chair(s): Zheng Zhang Rutgers University
14:00
25m
Talk
Stop and Go: Understanding Yieldpoint Behavior
Research Papers
Yi Lin Australian National University, Kunshan Wang Australian National University, Steve Blackburn Australian National University , Tony Hosking Purdue University, Michael Norrish NICTA
Link to publication
14:25
25m
Talk
Safe and Efficient Hybrid Memory Management for Java
Research Papers
Codrut Stancu University of California, Irvine & Oracle Labs, Christian Wimmer Oracle Labs, Stefan Brunthaler University of California, Irvine, Per Larsen University of California, Irvine, Michael Franz University of California, Irvine
Link to publication
14:50
25m
Talk
A Partial Read Barrier for Efficient Support of Live Object-oriented Programming
Research Papers
Eliot Miranda Cadence Design Systems, Clément Béra RMOD - INRIA Lille Nord Europe
Link to publication
15:15
25m
Talk
Memento Mori: Dynamic Allocation-Site-Based Optimizations
Research Papers
Link to publication