Commit ff05fe59 authored by Seth Brenith's avatar Seth Brenith Committed by V8 LUCI CQ

[tools] Make v8windbg more resilient to inlining

In order to determine which module contains V8, v8windbg has been
looking for the known symbol v8::Script::Run. However, that symbol might
not be found if the function was inlined. To fix, we should instead
choose a symbol that is declared with V8_NOINLINE.

Change-Id: Ib73dfb27f35ab81ab69f92ffab944f6f1096b895
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3290107Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#77974}
parent 7805c33c
......@@ -105,8 +105,10 @@ namespace {
// Returns whether the given module appears to have symbols for V8 code.
bool IsV8Module(IDebugHostModule* module) {
WRL::ComPtr<IDebugHostSymbol> sp_isolate_sym;
// The below symbol is specific to the main V8 module.
if (FAILED(module->FindSymbolByName(L"v8::Script::Run", &sp_isolate_sym))) {
// The below symbol is specific to the main V8 module and is specified with
// V8_NOINLINE, so it should always be present.
if (FAILED(module->FindSymbolByName(
L"v8::internal::Isolate::PushStackTraceAndDie", &sp_isolate_sym))) {
return false;
}
return true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment