Skip to content

TurboFan JIT Compiler

For full code compilation scenarios, most code may only execute once or twice. In that case, using interpreted execution to run JavaScript code is more efficient than traditional JIT compilation. However, when a piece of code needs to be executed repeatedly many times, the overall efficiency of JIT compilation is higher than interpreted execution — this is where V8's JIT compiler comes in: TurboFan Compiler. When a piece of code is executed repeatedly, or is manually specified for compilation, Ignition passes the bytecode to TurboFan, which performs JIT compilation to generate machine code for the corresponding architecture.

TurboFan Internals

Under construction.

Reference

https://arttnba3.cn

What Are Rendering Engines: An In-Depth Guide

RenderingNG deep-dive: BlinkNG

How Does the Browser Render HTML?

Browser's Rendering Pipeline

Inside look at modern web browser (part 1)

JavaScript engine fundamentals: Shapes and Inline Caches

Winty's blog - Modern Browser Architecture Overview

Firing up the Ignition interpreter

Digging into the TurboFan JIT

Ignition: Jump-starting an Interpreter for V8

Ignition: An Interpreter for V8

Deoptimization in V8

A New Crankshaft for V8

TurboFan

Sea of Nodes

TurboFan: A new code generation architecture for V8