いつの間にかRubinusがバージョンアップしてた

タイムワープアルゴリズムを実現する方法を考えていたのですが、YARVベースの命令セットでは良い方法が思いつかなかったです。それでは、Rubinusではどうかなと思い、久しぶりにhttp://rubini.us/に行ってみました。数ヶ月前にダウンドードしたときは0.8だったのですが、0.9にバージョンアップしていたので、ダウンロードしました。
Rubinusの命令セットを見ると、メソッド等の戻りアドレスがバイトコードレベルで色々扱えるスタックに載る*1ようなので、うまくいくような気がします。あと、新しいスタックをアロケートする命令とかデバッガ用に命令にパッチを当てる命令とかあって面白そうです。
でも、今のところコンパイルできません。なんとか、コンパイルできるようにするのが今後の課題です。

*1:YARVでは戻りアドレスは手の届かないはるか彼方に保存されてしまう