JIT 学习笔记
现代动态语言 VM 的架构,通常由以下几个组件组成:
- Interpreter
- Baseline JIT compiler
- Optimizing JIT compiler
以 JavaScript 引擎为例:
(图片来自: Haoran Xu - Building a baseline JIT for Lua automatically )
然而,当我们搜索各种所谓“JIT 框架”时,得到的往往只是 JIT compiler 中 code generator、optimizer 等组件,例如:
- LLVM
- libgccjit
- asmjit
- DynASM
- Cranelift
- MIR
- GNU lighting
- GNU LibJIT
- ……,太多太多了
TODO