MOC — V8 Internals
Подпапка про внутренности движка V8. Если ты пишешь production JS — этого знать обязательно. Если ты junior — это уровень «хочешь глубже».
Архитектура и пайплайн
- Как компилирует V8 — полный обзор: Scanner → Parser → AST → Ignition → TurboFan
- Ignition vs TurboFan — два пласта рантайма
- Байт-код V8 — внутреннее представление, как смотреть
- Lazy Compilation — ленивый парсинг, pre-parser, скобки-костыль
- OSR -- On-Stack Replacement — оптимизация горячих циклов
- Hot функции и оптимизация — когда функция становится «горячей»
- Деоптимизация в V8 — когда оптимизированная функция откатывается
- Сборка V8 локально — d8 + jsvu для экспериментов
Объекты и формы
- Inline Cache и hidden classes — основа оптимизации объектов
- Monomorphic Polymorphic Megamorphic — состояния IC
- V8 объекты -- in-object и dictionary mode — режимы хранения свойств
Числа и память
- SMI -- Small Integer — pointer tagging для целых
- Pointer Tagging и Oddball — undefined/null/true/false внутри V8
Инструменты
- V8 Native Syntax —
%OptimizeFunctionOnNextCallи компания - Сборка V8 локально — d8 + jsvu
Главный канал по теме
AsForJS — Дмитрий Mурыч, специализация на V8. 250+ стримов про внутренности.