Браузер и фронтенд-рантайм
Внутренности V8: тест с краткими ответами
Воспроизведение по памяти бьёт перечитывание. На каждый промпт восстановите полный ответ из памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет ментальную модель V8.
Восстановите ключевые механизмы юнита — переходы hidden class, машину состояний IC, четырёхуровневый конвейер, deopt-loop и барьеры Orinoco — не подглядывая в уроки.
- 01Что такое hidden class и почему ПОРЯДОК добавления свойств решает, делят ли его два объекта?
- 02Опишите машину состояний IC и что запускает каждый переход.
- 03Назовите четыре уровня JIT V8 по порядку и нишу каждого.
- 04Чем разовый deopt отличается от deopt-loop и почему loop катастрофичен?
- 05Как Orinoco делит работу GC и почему конкурентной маркировке нужен write barrier?
- 06Почему TypedArray обходят слой IC и когда это правильный инструмент?
Если вы смогли восстановить каждый ответ по памяти, у вас в руках хребет юнита: порядок добавления свойств задаёт hidden class, hidden class ведёт машину состояний IC, FeedbackVector и стабильность типов управляют тем, как высоко по четырёхуровневой лестнице поднимется функция (и не уйдёт ли она в deopt-loop), барьеры Orinoco держат конкурентную сборку корректной, а TypedArray обходят слои IC и GC целиком. Любой фикс юнита живёт выше по потоку от V8 — в форме и числовом типе ваших данных.