Message in a Bottle
summary
Compares MRI 1.8/1.9, JRuby and Rubinius by showing concrete dispatch code, replacement of a send bytecode with an inline cache object in Rubinius, and how that cache can point to bytecode, JITed machine code via LLVM, or a debugger breakpoint; explains JRuby’s bootstrap/fallback call site for invokeDynamic and how the JVM uses argument-class signatures to inline, with hot counters that trigger compilation around 4,000 hits; notes literal sharing, mutable literal pitfalls, and why symbols aren’t GCed.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:00Overview
- 7:09MRI
- 10:14Rubinius
- 16:55Why specialize
- 19:38Invoked Dynamic
- 25:37Time Issues
- 28:27Super Instructions
- 30:02String literals
- 31:47Questions
- 34:32Conclusion








