~/talk

Popping Into CRuby

Talkat RubyConf 2023 · 2023-11-13..11-15· [ruby]
slides:none on file

Claim: CRuby’s compiler carries a popped optimization that never emits instructions for literal values proven unused, so a trailing literal like 2023 removes a previous put_string instruction and leaves only the return instructions. Evidence: compiler passes a popped flag down the AST during codegen, literals and pure literal containers get elided, while method calls, assignments or returns block popping. Work includes a new compiler front for the prism parser that aims to emit compatible YARV bytecode; integration work is ongoing toward Ruby 3.3.

AI-written summary · about

  1. 0:00Introduction
  2. 1:06Popped parameter in CRuby
  3. 3:57From Ruby code to abstract syntax trees
  4. 7:29Prism parser benefits
  5. 9:13Prism vs CRuby errors
  6. 12:30Parse trees to bytecode
  7. 14:37YARV as a stack-based virtual machine
  8. 17:12Popped in bytecode
  9. 18:56Compiler optimizations
  10. 21:03How popped removes unnecessary stack operations
  11. 22:48What can be popped
  12. 24:15Recursive passing of popped through the tree
  13. 25:19Why popped matters
  14. 26:00Resources
~/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.