RuJIT開発日記

Ruby処理系向けトレース方式JITコンパイラRuJITの開発日記

2014-12-05から1日間の記事一覧

RuJITの中間表現 LIR

Ruby向けJITコンパイラ RuJIT Advent Calendar 4日目です.今日はRuJITの中間表現 LIRを紹介します.RuJITの中間表現LIRはYARVバイトコードを参考に設計したレジスタベースの中間表現で,実行時に収集した型情報をもった中間表現です. LIRの定義はlir.defに…

RuJITの中間表現 LIRへのコンパイラ

Ruby向けJITコンパイラ RuJIT Advent Calendar 5日目です. 今日はYARVバイトコードからLIRへのコンパイラについて書きます. YARVバイトコードからLIRへのコンパイラはsendやinvokeblockなど複雑なバイトコード命令を除きほとんどが自動生成されるコードに…