Clover2開発日誌

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

version 3.5.2

シェルモードのバグを修正しました。

 

これで、めぼしいバグは全部修正したともいます。

次は機能拡張に移りますが、clover2-devリポジトリで開発します。

version 3.5.2を長期リリース安定版とします。

次のversion 3.5.3はclover2-devリポジトリで機能拡張した部分が完全に安定してからリリースしたいと思います。

JIT(ネイティブコードコンパイラ)

JITはversion 3.5で安定しています。

実は前完成したと思っていた時はテストの大部分のコードがネイティブコードで動いてませんでした。今回テストは全部ネイティブコードで動いてます。version 3.5で安定しました。

 

良かったら使ってみてください。

version 3.3.1

version 3.3.1

メソッドの引数でboxingやunboxingが起こるようになりました。
Rangeクラスを作っています。StringクラスやBufferクラス、Listクラスなどで範囲を示す引数のメソッドを追加。
同一クラス内のフィールドがコマンド名より優先されない問題を修正。

 

とりあえず、使い勝手が上がってます。Rangeクラスの説明のwiki書いておきます。

verion 3.3.0

JITでバグが見つかりました。修正。JITでテストコードを全てネイティブで動かしました。JITは安定したと思います。

 

とりあえず、JIT爆速です。コンパイルはやや遅いですが、動いてしまえばネイティブコードで実行時にはコンパイルしていないので、凄まじい速度で動いています。

 

結構な頻度でコンパイルに失敗する、致命的なバグだったのでJITで動かしたい人はぜひともダウンロードしてください。