~/talk

Decent into Darkness: Understanding Your System's Binary Interface...

Talkat MountainWest RubyConf 2010 · 2010-03-11..03-12· [ruby]
links:none on file
slides:none on file

A memory profiler that actually rewrites the running VM to catch allocations and frees, implemented as the memprof gem that hooks rb_newobj via rewrites call displacements and PLT/GOT entries, inserts assembly stubs that align the stack and call a C handler, and even patches inlined free updates by replacing moves with jumps plus no-ops. It produces per-file/line object counts, emits heap JSON for a web UI at memproff.com, requires unstripped MRI 1.8 binaries or debug packages and works on 64-bit Linux and Snow Leopard.

AI-written summary · about

  1. 0:00Intro
  2. 0:27About Joe Damato
  3. 1:44The problem
  4. 3:38Problem Requirements
  5. 4:42WTF is an ABI?
  6. 5:49Evil Devices
  7. 7:44%rax uncensored
  8. 8:26Some amd64 asm notes
  9. 9:01Moving stuff
  10. 9:37Calling functions
  11. 12:39ELF Objects
  12. 13:20Sections that matter to memprof
  13. 14:04The ingredients for evil
  14. 14:58Hook rb_newobj
  15. 16:33Doesn't work for all
  16. 16:54How the plt works
  17. 20:15Hook add_freelist
  18. 21:39Isn't ready? What?
  19. 23:21assembly stub
  20. 24:28Sample Output
  21. 25:44Middleware • Use memprof as middleware • Get per-request object count information
  22. 26:34memprof limitations
  23. 27:21More evil is brewing
  24. 27:45Use RVM.
  25. 28:00Get memprof
~/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.