Thu 8 Nov 2018 15:30 - 15:52 at Studio 1 - Performance Chair(s): Adam Welc

Embedding a modern language runtime as a component in a larger software system is popular these days. Communication between these systems often requires keeping references to each others’ objects. In this paper we present and discuss the problem of cross-component memory management where reference cycles across component boundaries may lead to memory leaks and premature reclamation of objects may lead to dangling cross-component references. We provide a generic algorithm for effective, efficient, and safe garbage collection over component boundaries, which we call cross-component tracing. We designed and implemented cross-component tracing in the Chrome web browser where the JavaScript virtual machine V8 is embedded into the rendering engine Blink. Cross-component tracing from V8’s JavaScript heap to Blink’s C++ heap improves garbage collection latency and eliminates long-standing memory leaks for real websites in Chrome. Our system was enabled by default for all websites in Chrome version 57.

Thu 8 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

15:30 - 17:00
PerformanceOOPSLA at Studio 1
Chair(s): Adam Welc Uber Technologies
15:30
22m
Talk
Cross-Component Garbage Collection
OOPSLA
DOI Media Attached
15:52
22m
Talk
Reactive Caching for Composed Services
OOPSLA
Sebastian Burckhardt Microsoft Research, Tim Coppieters Vrije Universiteit Brussel, Belgium
16:15
22m
Talk
Object-Oriented Recovery for Non-Volatile Memory
OOPSLA
Nachshon Cohen EPFL, Switzerland, David T. Aksun EPFL, James Larus EPFL
16:37
22m
Talk
Software Multiplexing: Share Your Libraries and Statically Link Them Too
OOPSLA
Will Dietz University of Illinois at Urbana-Champaign, Vikram S. Adve University of Illinois at Urbana-Champaign
Link to publication DOI Pre-print