TurboFan is one of V8’s optimizing compilers leveraging a concept called “Sea of Nodes”. One of V8’s blog posts offers a high-level overview of TurboFan. More details can be found in the following resources.
Articles and blog posts #
- CodeStubAssembler: Redux
- An overview of the TurboFan compiler
- TurboFan IR
- TurboFan’s JIT Design
- Fast arithmetic for dynamic languages
- Deoptimization in V8
- TurboFan: a new code generation architecture for V8 (video)
- An internship on laziness (+ blog post)
Design documents #
These are design documents that are mostly concerned with TurboFan internals.
- Function context specialization
- Rest parameters and arguments exotic objects optimization plan
- TurboFan developer tools integration
- TurboFan inlining
- TurboFan inlining heuristics
- TurboFan redundant bounds and overflow check elimination
- Lazy deoptimization without code patching
- Register allocator
- Projection nodes in TurboFan
Related design documents #
These are design documents that also affect TurboFan in a significant way.