Я пытаюсь оптимизировать производительность приложения node.js и поэтому анализирую поведение JIT-компилятора V8.
При запуске приложения через node --trace_deopt --trace_opt --code_comments --print_optcode ...
выходные данные содержат много повторяющихся строк, таких как следующие:
[didn't find optimized code in optimized code map for 0x490a8b4aa69 <SharedFunctionInfo>]
Как узнать, какой код JavaScript соответствует 0x490a8b4aa69
?
Полный вывод доступен здесь.
v8/src/objects.cc
, но его больше нет. По сути, это означает, что в настоящий момент оптимизация для конкретной трассировки не применялась. Возможно, потому, что он не использовался или использовался достаточно редко. Вероятно, это была библиотечная функция Node.js. Предоставленный адрес находится в памяти. Вам нужно будет подключить отладчик к v8 и загрузить символ для SharedFunctionInfo в этом месте. Возможно, точка останова и на строке, которая выдает сообщение. - person TylerY86   schedule 27.09.2016--trace_codegen
и работать в обратном порядке? Это выглядит очень трудоемкой вещью для исследования. - person TylerY86   schedule 28.09.2016