まず、私が質問したことだけまとめとく。 YARV Bytecodeをロードする話 問題は二点:互換性と安全性 安全性について。 Rubyプログラムをちょこちょこっと書き換えても、安全性は損なわれることはない。ここでいう安全性とは、処理系が実行中に未定義の状態にならない、という程度の意味。卑近な表現をすれば、SEGVが起きないと言うこと。これは、Rubyの処理系によって(直感的には)保証されている(し、そうなるべく開発者は努力していることが、自然に期待される)。 一方、YARVのバイトコードを書き換えたときには、「なにが起きるかわからない」。未定義の状態になって、SEGVするかもしれないし、未定義の状態というのは計算機が突然壊れても文句を言えないということ。JavaのクラスローダにはVerifierがあって、安全だと確認できないクラスファイルはロードできないようになっている。 Verifie