Может ли node.js(или какой-либо другой интерфейс v8 или оболочка вокруг v8) выводить сгенерированную сборку из v8 JIT?
Я хотел бы посмотреть, как выглядит сгенерированная сборка для разных фрагментов.
Ответ 1
Вам нужно убедиться, что node.js построен с включенным дизассемблером V8. Отладочные сборки будут включены по умолчанию. Для версий релизов (в последнее время достаточно node, который использует сборку GYP), вы можете включить его, выполнив:
Когда дизассемблер включен, вы можете использовать флаги, такие как --print-code, --print-code-stubs, --print-opt-code и --code-comments, чтобы проверить код, сгенерированный V8.
Если вы хотите исследовать IR, используемое при оптимизации компилятора, используйте --trace-hydrogen и посмотрите hydrogen.cfg (его можно просмотреть с помощью C1 Visualizer).