~/talk

Untangling the web: Memory management in Chrome’s web platform implementation

Talkat DLS 2019 · on Sunday, 2019-10-20· [web-platform, web-performance]
slides:none on file

Chrome implements a cross-component tracing GC that coordinates Blink’s C++ collector and V8’s JavaScript collector, adds tooling to inspect mixed C++/JS graphs, and ships incremental changes on master. A new concurrent marker uses a snapshotting for unsafe shape changes algorithm (avoiding heavyweight layout locks), tested on Chrome M72 with the record‑replay benchmark suite; snapshotting yields the best total marking time while multiple designs show roughly equivalent main‑thread responsiveness within the 16 ms frame budget.

AI-written summary · about

  1. 0:00Intro
  2. 2:17What we work on
  3. 3:00Rule of thumb: Ship incrementally where possible
  4. 5:35Talk covers most recent work
  5. 6:04Chrome architecture
  6. 7:49Interlude: Rendering 101
  7. 11:04Changing state
  8. 21:11Cross-component garbage collection (CC GC)
  9. 22:14Interlude: Tri-color marking
  10. 26:17V8 and Blink: Garbage collection architecture
  11. 31:07Runtime optimization: Double unboxing
  12. 33:35Double unboxing changes the shape of an object
  13. 34:02Traditional marking round
  14. 35:31Safe and unsafe shape changes
  15. 37:35Wait-free snapshotting algorithm
  16. 39:18Evaluation: Marking time on main thread
  17. 40:39Evaluation: Total marking time (all threads)
  18. 41:18Concurrent marking of shape-changing objects
  19. 42:05Final thoughts
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.