Подтвердить что ты не робот

Dump v8 Выход JIT из node

Может ли node.js(или какой-либо другой интерфейс v8 или оболочка вокруг v8) выводить сгенерированную сборку из v8 JIT?

Я хотел бы посмотреть, как выглядит сгенерированная сборка для разных фрагментов.

4b9b3361

Ответ 1

Вам нужно убедиться, что node.js построен с включенным дизассемблером V8. Отладочные сборки будут включены по умолчанию. Для версий релизов (в последнее время достаточно node, который использует сборку GYP), вы можете включить его, выполнив:

GYP_DEFINES="v8_enable_disassembler=1 v8_object_print=1" ./configure

и перестроить node.

Когда дизассемблер включен, вы можете использовать флаги, такие как --print-code, --print-code-stubs, --print-opt-code и --code-comments, чтобы проверить код, сгенерированный V8.

Если вы хотите исследовать IR, используемое при оптимизации компилятора, используйте --trace-hydrogen и посмотрите hydrogen.cfg (его можно просмотреть с помощью C1 Visualizer).