Ensures that Builtin events are sent to JIT-code event handlers

Generates callbacks for already existent code by using the
kJitCodeEventEnumExisting option instead of kJitCodeEventDefault.

When working on V8 system instrumentation on Windows, it was found in
https://bugs.chromium.org/p/v8/issues/detail?id=11043#c41 that several
parts of the JS stack was missing.

One missing part is all calls to Builtin methods
(example: Builtin:JSEntryTrampoline) and this change ensures that
events with name "Builtin" are also included in the generated JIT code
events.

Bug: v8:11043
Change-Id: Iaa99e18d799266a7224f848130c4eaf36e8c77fb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3550590
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Henrik Andreasson <henrika@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79640}
This commit is contained in:
henrika 2022-03-28 12:33:46 +02:00 committed by V8 LUCI CQ
parent 7c6ce251e6
commit ede0a4abee

View File

@ -8634,7 +8634,8 @@ void Isolate::Initialize(Isolate* isolate,
#endif // defined(V8_OS_WIN)
if (code_event_handler) {
isolate->SetJitCodeEventHandler(kJitCodeEventDefault, code_event_handler);
isolate->SetJitCodeEventHandler(kJitCodeEventEnumExisting,
code_event_handler);
}
}