Write a Blog >>
Sun 23 Jun 2019 14:50 - 15:15 at 106A - Mechanics

Efficient garbage collection is a key goal in engineering high-performance runtime systems.
To reduce pause times, many collector designs traverse the object graph concurrently with the application, an optimization known as concurrent marking.
Traditional concurrent marking imposes strict invariants on the object shapes: 1) static type layout of objects, 2) static object memory locations, 3) static object sizes.
High performance virtual machines for dynamic languages, for example, the V8 JavaScript virtual machine used in the Google Chrome web browser, generally violate these constraints in pursuit of high throughput for a single thread.
Taking V8 as an example, we show that some object shape changes are safe and can be handled by traditional concurrent marking algorithms.
For unsafe shape changes, we introduce novel wait-free object snapshotting and lock-based concurrent marking algorithms and prove that they preserve key invariants.
We implemented both algorithms in V8 and achieved performance improvements on various JavaScript benchmark suites and real-world web workloads.
Concurrent marking of shape-changing objects using the wait-free object snapshotting algorithm is enabled by default in Chrome since version 64.

Sun 23 Jun

ismm-2019-papers
14:00 - 15:40: ISMM 2019 - Mechanics at 106A
ismm-2019-papers14:00 - 14:50
Talk
Shan LuUniversity of Chicago
ismm-2019-papers14:50 - 15:15
Talk
ismm-2019-papers15:15 - 15:40
Talk
Ricardo LeiteUniversity of Porto, Ricardo RochaUniversity of Porto, Portugal