~/talk

C++ Exceptions and Stack Unwinding

Talkat CppCon 2017 · 2017-09-24..09-29· [c-and-cpp]
links:none on file
slides:none on file

Measures actual throw cost by tracing from cxa_throw through unwinder into the Itanium ABI and compares implementations: libgcc (8-entry cache), llvm-libunwind, and Facebook’s libunwind with a fast backtrace cache. Demonstrates two-phase search/cleanup unwinding, shows a GCC pre-8 issue hiding frames (7 → 16 frames when noexcept forces immediate terminate), finds dlopen/dlclose global-lock contention as the main multithread slowdown, and shows fast cached backtraces are orders of magnitude faster while signal-safety and cache sizing trade performance.

AI-written summary · about

  1. 0:00Introduction to unwinding
  2. 3:14Zero-cost exceptions review
  3. 6:46C++ ABI functions
  4. 7:45Itanium ABI and personality
  5. 20:30Dwarf debug symbols
  6. 20:43Unwinding implementation
  7. 34:36Caching strategies
  8. 39:41Performance benchmarks
  9. 43:12Questions and answers
~/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.