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 detail can be found in the following resources:

Articles and blog posts

  • A tale of TurboFan
  • Ignition+TurboFan and ES2015
  • An Introduction to Speculative Optimization in V8

Talks

  • 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

TurboFan 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.

  • Computed property names (re)design document
  • ES2015 and beyond performance plan
  • Iterator builtins design document
  • Making ES2015 classes fast
  • RegExp builtins (re)design document
  • Spread Call Performance
Powered by Gitiles| Privacy| Terms
sourcelogblame