第2章:32 ビット整数式の x64 JIT コンパイラを試作する

次章で C コンパイラを開発するための事前準備作業として、変数を含む整数式の計算ができる初歩的なコンパイラを C 言語で開発します。 開発済みのリポジトリは、以下で参照できます。

tenpoku1000/int_calc_compiler: WebAssembly を中間言語に採用した、32 ビット整数式の x64 JIT コンパイラ https://github.com/tenpoku1000/int_calc_compiler

以下のようなソースコード(1 つのファイルを入力でき、1 つだけのスコープを持ちます)をコンパイルできることを想定します。

int32_t value1 = (1 + 2) * 3;
int32_t value2 = 2 + (3 * value1);
value1 = value2 + 100;

外部のアセンブラは利用せず、リンカの開発も省略するため、メモリ上に機械語を直接生成して JIT 実行します。

この章は、以下の各節で構成されています。2.11 参考文献・資料にある参考書や WebAssembly の仕様書、 インテルの公式マニュアルなどを参照しながら読むようにすると、理解が進むと思います。

最終更新