Upgrade to Pro — share decks privately, control downloads, hide ads and more …

lldbを使ってCRubyの中を覗く

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 lldbを使ってCRubyの中を覗く

Avatar for Koji NAKAMURA

Koji NAKAMURA

August 25, 2026

More Decks by Koji NAKAMURA

Other Decks in Technology

Transcript

  1. 今回のゴール • Rubyコード → ISeq を確認 • 確認した ISeq から何かしらの

    CRuby コードが動いている ぞ!っていう部分の繋がりを確認する
  2. Rubyコード → ISeq → CRuby実装 の繋がり • {} → newhash

    → rb_hash_new • h[:a] = → opt_aset → vm_opt_aset → rb_hash_aset • h[:a] → opt_aref → vm_opt_aref → rb_hash_aref
  3. lldbで動かしてみて • Rubyコード → ISeq → CRuby実装 をなんとなく理解 • と同時に分からないことが複数一気に出てきた

    ◦ insns.defの見方 ◦ insns.defにある「attr bool leaf = false;」とは? ▪ LLM曰く「VMの世界から外に出うる命令」らしい??? ◦ insns.defにあるコード片?が実際にどう統合される? ◦ and more …
  4. EOF