JITの高速化完成。
ついにJITが動きました。
--with-jit指定を付けるとJITが有効になります。まだ処理速度がどれくらい速くなったか試してませんが、とりあえず完成です。
あと--with-optimizeでセグメンテーション違反が出てましたが修正しています。
JIT付きの準現代風、コンパイラと仮想マシンです。ぜひ、試してください。準現代風と書いたのはすでに出ているSwiftやKotlinの方がかなり便利さで進んでいるためです。型推論やnull代入安全性など、オブジェクト指向の使い勝手がSwiftやKotlinの方がだいぶ上です。
これからはClover2をSwiftやKotlinの使い勝手に近づけてノラプログラマーとしての余生を過ごしたいと思います。
たまにパソコンのしすぎで怒られてましたが、僕を支えてくれた妻に感謝したいと思います。
それでは、enjoy programing!
JIT高速化の続き
現在./configure --with-jitは動きません。
とりあえず、b.clのテストは全部通ってます。後はmake testを全てJITで通せば、終わりです。
クロージャーのJIT化には苦労しました。バグにバグを重ねなんとか動くところまで辿り着きました。
一応b.clはmake testでも前回JIT化するときに通らなかったコードを選んでテストしているので、それが通ったってことはmake testのテストを通すのもそんなに苦労しないと思います。
でも、まだバグはあると思います。なんとか無事make testを通して完成させたいと思います。
すんなりいけば明日にはテストが通るかもしれません。そんなに甘くはない予感がしてますが、、、、。
今日は夜更かししてしまいました。夜更かしのコーディングは進捗が良いですが、次の日の進捗が悪いので、あまり良いことだとは思いません。皆さんもよく寝て、日中に進捗を出すことに集中してくださいね。それでは。
JIT高速化の続き
現在./configure --with-jitは動きません。
だいぶ大物バグを修正できました。一つのバグに2,3日はかかった気がします。かなりの数のバグが有りました。バグの修正にまたバグが有ったりして、かなり苦労しました。やっぱり調子が悪いときにはコーディングしないに限ります。バグが出て余計に時間が取られます。ぼちぼち調子がいいときに書いていくのが一番ですね。みなさんも、無理しないようにしてください。
何かどうでも良い話ですがお腹が減っているときに進捗がいいですね。デバッグに集中できます。
まあ、介護の仕事でもお腹が減っているときはよく動いて良い介護ができるので、お昼とかあまり食べないようにしています。
その割にはお腹は出てますが。
代わりに夜はたくさん食べます。
でも、若い頃はこんなことはなかったんですけどね。よく食べても動けました。歳のせいですかね。
まあ、とりあえず、8/31日でJITが動くようになったらversion 2.0としてリリースできるように頑張ります。
私事ですが、9/1に職場を変えるので、それまでにはリリースしたいですね。JITが完成したら、SwiftやらKotlinとか現代風の言語に改良していって余生を過ごしたいと思います。
型推論ですかね。ほしいのはあとはNullの代入の安全性とか、SwiftとKotlinを研究して、同じような機能を入れたいと思います。ただ残念ですがThreadは入れる予定はありません。Thread好きじゃないんですよ。入れるとデバッグに凄く時間が取られそうなので、そんな時間を過ごすくらいなら型推論とか入れたいと思います。
お楽しみに。
JITのデバッグの続き
現在./configure --with-jitは動きません。
手強い例外処理のバグを修正しました。ネストするtryはできなくなりましたが、とりあえずバグを修正できました。
tryのネストができないのは仕様にするかもしれません。
後は、キャスト関連で変数を全部64bitで扱っていたせいで、いい加減な処理でも動いてましたが、ちゃんと型をもたせるように修正したため、それをきちんと処理するようにすれば、概ねバグは修正できると思います。たぶん、、、
まだ大物バグがあるかもしれませんが、ぼちぼち修正していきたいと思います。