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

Brainf*ckのインタープリタとJITコンパイラ

Adventures in JIT compilation: Part 1 - an interpreter - Eli Bendersky's website Adventures in JIT compilation: Part 2 - an x64 JIT - Eli Bendersky's website これらの記事を読み、part2まで真似して書いてみた。 brainf*ck jit · GitHub 記事では…

Rustで実行可能なメモリを確保

最近JITコンパイラを書いていて、実行可能なメモリ領域に命令列を直接書き込んで実行、ということがしたかった。 cならmmapなどで、PROT_EXECフラグを立ててメモリを確保するか、mprotectでPROT_EXECフラグを立ててやればいいという認識。 まず思いついたの…