LLVMのルーチンを書き直してます
高速化のためにLLVMのJITのルーチンを書き直しています。
完全にフルスクラッチからではありませんが、スタックの値をVMのスタックではなくLLVMのスタックを用意して、そこの値を使っています。1+1など単純な計算は最適化されて2とされるでしょう。
今のままだと一度VMのスタックに1を書き込んで、もう一度1を2つ読み込んで足し算して2となっていましたから最適化の余地もありませんでした。
LLVMのスタックからVMのスタックへの値を反映させる関数などは完成しているので、後は大体道なりで書き直せそうです。
今月末か来月末には新しく高速化されたLLVMのルーチンが出来上がるでしょう。
大体僕は2回位書かないとまともなルーチンを書けない癖がありまして。1回目は手探りで、2回目で整理されるって感じですかね。みなさんもそうなのかもしれませんが。
6月末までには大体めどを付けておきます。お楽しみに。