以前(昨年2017年)、Graal(JITコンパイラ)のグラフやIR(Intermediate Representation)について調べました。
このとき、理解が浅く中途半端なままでした。
JKUのwebサイトhttp://ssw.jku.at/Research/Projects/JVM/Graal.htmlに"Graal IR: An Extensible Declarative Intermediate Representation"というペーパーがありました!
http://ssw.jku.at/General/Staff/GD/APPLC-2013-paper_12.pdf
10ページもなくすぐに読めますし、でも内容としてはとてもためになりました。
制御フローとデータフローの区別はできていましたが、ノードでの実装設計について学べました。この概要をもとにもう一度Graalの実装を読み、オレオレJITコンパイラでバイトコードからグラフ、IRを構築する部分を自分で実装できたらいいな、と思っています。