Clover2開発日誌

Clover2というJavaのように静的な型を持つRubyのようなコンパイラ+仮想マシンの開発日誌です。LLVMでJITもします。https://github.com/ab25cqにて開発しています。

JIT高速化の続き

現在./configure --with-jitは有効ではありません。

 

キャスト命令のJIT化をはじめました。LLVM上では複数の命令が同じ命令として扱えるので、かなり早く終わりそうです。

来週中?現職を辞める前には終わるかもしれません。

来週は忙しいですが、コーディングする時間を作って、終わらせたいと思います。

キャスト命令が終わればmake testやらテストをしてデバッグして安定すればversion 2.0としてリリースします。

まあ、リリースと行ってもgithub上でしか配布していないので、単にpushするだけですが。

version 2.0がリリースできれば、かなり高速化される予定なので使ってやってください。うりはmixin-layersによる差分プログラミングです。まあ、僕のアイデアじゃないですけどね。10年くらい前にアスペクト指向が流行ったときに出てきた日本人の先生のアイデアです。C++でもmixin-layersが使える実装があったはずです。そちらで試してもらってもいいですけどね、、、。オリジナルはJVM上で動くMix-Juese(ミックスジュース。綴あっているかな?)って言う実装です。今も開発されているかは知りませんが。

差分プログラミングは僕自身が使ってみたかったので入れてます。大規模なソフトウェアでは有効な考え方で、もっと注目されてもいいと思います。