TurboFan
TurboFan 是 V8 的其中一個優化編譯器,利用了一種叫「Sea of Nodes」的概念。V8 的部落格文章提供了一篇TurboFan 的高層次概述。更多詳細資訊可以參考下列資源。
文章與部落格帖子
講座
- CodeStubAssembler: Redux
- TurboFan 編譯器概述
- TurboFan IR
- TurboFan 的 JIT 設計
- 為動態語言提供快速算術運算
- V8 中的反優化
- TurboFan:為 V8 設計的新代碼生成架構 (影片)
- 關於慵懶的一次實習 (+ 部落格帖子)
設計文檔
這些是主要關注 TurboFan 內部原理的設計文檔。
- 函數上下文專門化
- Rest 參數與 arguments 特殊對象的優化方案
- TurboFan 開發工具整合
- TurboFan 內聯
- TurboFan 內聯策略
- TurboFan 冗餘邊界檢查與溢出檢查消除
- 無需代碼修補的慵懶反優化
- 寄存器分配器
- TurboFan 中的投影節點
相關設計文檔
這些設計文檔也對 TurboFan 產生了重大影響。