Clover2開発日誌

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

JIT高速化の続き

現在./configure --with-jitは動きません。

 

とりあえず、キャスト命令もあとはラッパークラスからプリミティブ型へのキャストのみとなりました。

問題はテストが通るかどうかですが。

明日は夜勤なので、昼間にちょっとコーディングしようと思います。

速度出ますかね、、、それが心配です。LLVMの最適化は凄いので、たぶん、速くなっていると思いますが。3秒かかっていた処理が1秒以下になるのが目標なので、GCの改良も含めて、なんとか実現したいと思います。

あとはJIT時のLLVM用のスタックにオブジェクトが存在していてClover2のスタックにはオブジェクトが存在しない場合GCはどうなるんだという心配もあります。たぶん、大丈夫な気もするんですが、もし駄目ならLLVM用のスタックもマークしないといけないかもしれません。

そんな感じですかね。

明後日から1ヶ月ほど休みになるので、7月中には高速化は終わると思います。

もう少しお待ち下さい。