2022-08-01から1ヶ月間の記事一覧

自作言語のコンパイラにオレオレアセンブリではなくx86_64アセンブリを生成させる(関数呼び出しと足し算だけ)

Qiita に書きました。 qiita.com

Ruccola VM Crystal版の速度改善 (2022-08)

github.com fastvm/rclvm.cr の高速化の自分用メモ。 オペコードを String のまま取り回す実装だった → これをシンボルや enum にするとどうなるか def execute : Int32 | Nil insn = @mem.main[@pc] opcode = insn[0] case opcode when "exit" then return …

vm2gol v2 (63) sub_sp 命令を廃止 / panic

目次ページに戻る / 前 前回からの差分をまとめて見る sub_sp 命令を廃止 VM命令 sub_sp を廃止しました。 オペランドを負の値にすれば add_sp で代用できるので。 これで VM のコードが5行減って、実装の量の面でも、仕様の面でも、またちょっとコンパクト…