ひとり勉強会

ひとり楽しく勉強会

insns.def

insns.defでの命令定義はグループ別にまとまっていて、上から順に

  • 変数の操作 (getlocal, ...)
  • 値の操作 (putnil, ...)
  • スタック操作 (pop, dup, ...)
  • メソッドや別名定義関係 (definemethod, alias, ...)
  • クラス/モジュール定義 (defineclass, ...)
  • メソッド/イテレータ関係 (send, invokeblock, ...)
  • 例外関係 (throw, ...)
  • ジャンプ (jump, branchif, ...)
  • 最適化命令 (opt_plus, opt_mult, ...)

こんな感じです。
1個1個精読した結果をここに書いていこうかとも思ったのですが、どの命令もとてもわかりやすく書かれているので、書き始めてみたらひたすらコードの引用を羅列して説明終わり、になってしまいました。それではあんまり意味ないので省略ということにします。