generated at
YARV

Yet Another Ruby VM
Ruby v1.9で導入されたプロセスVM
YARVをつかうことで速くなった

コードを実行する際にYARV命令列用の引数と戻り値からなる値のスタックを保持する

YARVJVMの違い
Rubyは機械語へのコンパイルはしない。
YARV用のワードコードへ変換される
JVMは命令列のいくつかを、自身の持つHotSpotやJIT Compilerなどを使って、バイトコードへ変換する

ASTの関数呼び出し,メソッド呼び出し部分をYARV IRにコンパイルする
1. レシーバをpush
2. 引数をpush
3. メソッド/関数を呼び出す

参考