BrainfuckをJITしてみた

BFだとJITしやすいので作ってみた。簡単な最適化をしています。

add/sub [rdi], immの直後にcmp [rdi], 0が来るのは無駄でしかないので、そこの最適化ぐらいはしてみたいですね。

http://gist.github.com/518146

ソースコードは400行ほどあるのでgist上に置いています。Core i5@2.66GHzの環境でhttp://esoteric.sange.fi/brainfuck/bf-source/にあるmandelbrot.bを1.4秒程度で実行する能力があります。

x86_64限定です。Mac OS XLinux上で動く事を確認しました。DEPがONな環境だと、どうなるんでしょうね。