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

同人誌とVMづくり

 同人誌と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