Graal Papers
結構あるのでどれを読んだものか・・・。特徴的な最適化手法の話と、上のレイヤからのインターフェイスすなわち IR の話を読むのが良いかなあ。
- Trace-based Register Allocation in a JIT Compiler
- ★Trace transitioning and exception handling in a trace-based JIT compiler for java 一歩古い。が、そのぶん包括的かもな。こっちかな。
- Efficient and thread-safe objects for dynamically-typed languages たしかにマルチスレッドで shape がかわると inline cache どうしたらいいのかあまり自明でないな。地獄というかんじだが・・・。JS は isolated world でよかったね。
- Memory-safe Execution of C on a Java VM Truffle の上に C interpreter をつくるという話っぽいが, C は単純で static な言語なのですごく面白い話は期待できない。パス。
- ★Snippets これは IR の話っぽい。
- Graal IR: An Extensible Declarative Intermediate Representation これも。どっちかな・・・。たぶん Snippets というのを読んでまだ IR に疑問があったら こっちを参照するくらいがよさそう。
- Zero-overhead metaprogramming: reflection and metaobject protocols fast and without compromises Ruby をどう速くするか的な話っぽい。
- An efficient native function interface for Java FFI あるよ、という話。まあ FFI があるとわかればそれで十分な気になる。