~/talk

Inside Ruby's VM: The TMI Edition.

Talkat RubyConf 2015 · 2015-11-15..11-17· [ruby]
slides:none on file

Clear, specific roadmap: MRI bytecode is generated via rb_compile_string into an AST then a linked list and finally an integer array; peephole and specialized instructions reduce sends; the VM uses direct-threaded execution for faster dispatch. A failed but informative attempt at an ahead‑of‑time compiler shows the practical snag: VALUE pointers are heap addresses so serialized iseq blobs must embed objects, not raw pointers. Big code pointers: iseq_compile_each (2,300+ lines) and insns.def are where the action is.

AI-written summary · about

  1. 0:00Intro
  2. 3:16Rubicon 5K
  3. 6:03Failure
  4. 9:21Lexer
  5. 11:12What is a VM
  6. 16:08How to get VM code
  7. 17:52What is a linked list
  8. 24:25Why use a doubly linked list
  9. 28:19Code runs phase
  10. 29:06What is a bytecode
  11. 32:06Different types of VM
  12. 33:49Direct threaded interpretation
  13. 34:30Heapallocated objects
  14. 36:10Practical applications
  15. 37:37Conclusion
~/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.