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

同人誌とVMづくり

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

 同人誌とVMづくり

Avatar for Katsuhiko Kageyama

Katsuhiko Kageyama

September 14, 2026

More Decks by Katsuhiko Kageyama

Other Decks in Technology

Transcript

  1. バイトコード辞書→mruby が全部わかる本 目次 1 mruby の全体像 2 バイトコード 3 VM

    の仕組み 4 GC 5 コードジェネレータ 6 組込みクラスとライブラリ 7 Extension # puts "Hello, " + "Ruby" irep 0 nregs=5 nlocals=1 pools=2 syms=1 reps=0 ilen=15 1 000 STRING 2 0 1 003 STRING 1 006 ADD 1 008 SSEND 1 012 RETURN 1 014 STOP 3 2 1 1 1 0 こんな感じのバイトコード 8 移植の手順 9 opcode リファレンス(全 119 命令) AIでやれるところまでやってみるかの精神 1 ; :puts
  2. SabiRuby — Rust 製の mruby VM(最新準拠) Fable+Opusで、2日で 大体できてしまった 119 2344/2507

    40 実行命令すべて実装 mruby付属のテストを通した 通らないものは理由あり 移植した gem(Fiber, Regexp, Task…) no_std 1 ×3.5 wasm でもマイコン向けでも ビルドしやすい Unsafeの数 C-mrubyとの比較は3倍遅い!(フィボ ナッチ数計算)
  3. SabiRuby Playground ・本家のコンパイラと SabiRuby を WebAssembly に ・VM インスペクタ:1 命令ずつ進めて、レジスタ・フレーム・GC

    を見る ・Fiber、Task、正規表現、実時間の sleep などサンプル付き kishima.github.io/sabiruby-playground/
  4. Bevy との連携 (rubevy) ・ロボット 1 体 = mruby-task のタスク 1

    つ ・ゲーム内エディタで書き換えて即反映 ・loop {} を書いてもゲームは止まらない SabiRuby Battle: https://kishima.github.io/rubevy_games/
  5. 技術書典21 の新刊 「Deep Dive into mruby」 現在、下書きで350ページ・・・ 成果物: SabiRuby github.com/kishima/sabiruby

    Playground kishima.github.io/sabiruby-playground/ SabiRuby Battle kishima.github.io/rubevy_games/ 移植キット github.com/kishima/mruby-porting-kit