みなさーん、プログラマの石川某くんはいつもデスマにはまっていていつJITの勉強しているんだろと思ったことはありませんか?その秘密は、mruby-meta-circular。Cも機械語も使いません。だから、忙しい某君にもできるのです。サンプルCoDeを無料で送ります。続きはWebで というわけで(どういうわけだ(定番の突っ込み))、mrubyとmrubyのVMであるRITE VMの命令だけでTracing JITの仕組みを解説しようと思います。 mrubyのJITと基本的な構造は大体同じです。 インタープリタ 初めにベースになるVMを見てみましょう。おそらく世の中で2番目にたくさん作られているプログラム、フィボナッチ級数それだけが動くよう注意深く命令セットが選ばれています。これから先、このVMをFibVMと呼びます。また、mrubyのVMはRITE VMです。 この2つを区別することが非常に
![どきっ!mrubyだらけのTracing JITコンパイラ解説 バグりもあるよ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/06c4005e48299d758714c23f27a7f53aad643913/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgxJUE5JUUzJTgxJThEJUUzJTgxJUEzJUVGJUJDJTgxbXJ1YnklRTMlODElQTAlRTMlODIlODklRTMlODElOTElRTMlODElQUVUcmFjaW5nJTIwSklUJUUzJTgyJUIzJUUzJTgzJUIzJUUzJTgzJTkxJUUzJTgyJUE0JUUzJTgzJUE5JUU4JUE3JUEzJUU4JUFBJUFDJUUzJTgwJTgwJUUzJTgzJTkwJUUzJTgyJUIwJUUzJTgyJThBJUUzJTgyJTgyJUUzJTgxJTgyJUUzJTgyJThCJUUzJTgyJTg4JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz1kOGQxYmNkZWRkMDEyMzZhN2E5ZDg0OWMzNzM0NDVlMA%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWl1cmExNzI5JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0yZGVhOWI2NWI2ZDQyNTZkNDJlYzA3NTQxYzJmN2U1Zg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dbe3e5bae4a005fec59e54b8fed165132)