~/talk

A Write Barrier Validating GC for Ruby

Talkat RubyKaigi 2026 · 2026-04-22..04-24· [ruby, compilers-and-language-design]
links:none on file
slides:none on file

Built a write‑barrier validating GC called WB check that runs as a separate modular GC for CRuby, captures an initial snapshot of object references, records write‑barrier calls, and later verifies every object’s children were either in the snapshot or recorded. Implementation evolved from an epsilon allocator to a simple mark‑sweep collector with ASAN-friendly malloc, finds missed and too‑early barriers, produces concrete parent/child error reports, helped reproduce bugs with GDB/RR, and uncovered and fixed 30 bugs while finishing test runs in about 90 seconds.

AI-written summary · about

  1. 0:00Introduction and background
  2. 1:30Challenges of GC bugs
  3. 4:20How garbage collection works
  4. 6:29Write barriers explained
  5. 8:58Write barrier pitfalls
  6. 12:11Introducing WB check
  7. 15:49Implementation details
  8. 20:48Testing and false positives
  9. 22:33Turning WB check into GC
  10. 24:04Results and findings
  11. 25:30Future plans and conclusion
~/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.