Движок V8
Архитектура V8, JIT-компиляция, hidden classes, context allocation и GC
О чём эта глава
V8 — движок JavaScript, на котором работают Chrome и Node.js. Понимание его внутренностей помогает писать быстрый код, находить утечки памяти и отвечать на сложные вопросы на собеседованиях.
Разберём V8 от архитектуры до сборщика мусора: как код превращается в машинные инструкции, что такое hidden classes и inline caches, как V8 оптимизирует замыкания и когда происходит деоптимизация.
Содержание
- Архитектура V8: от исходного кода до машинного
- Память: стек, куча, объекты
- JIT-компиляция и оптимизации
- Context Allocation и замыкания в V8
- Сборка мусора
Что ты научишься делать
- Объяснять pipeline V8 от исходного кода до машинного
- Понимать, как hidden classes и inline caches ускоряют JavaScript
- Писать код, дружелюбный к JIT-компилятору
- Объяснять context allocation и как V8 оптимизирует замыкания
- Находить и предотвращать утечки памяти
- Использовать флаги V8 для дебага оптимизаций
Связанные темы
- Замыкания — context allocation и замыкания в V8
- Асинхронность — event loop и оптимизации асинхронного кода
- Параллелизм — V8 isolates и Web Workers
Задания
Перейти к заданиям — 3 easy, 2 medium, 3 hard