[tracing] Properly trace stack guards and interrupts.
Add tracing support for the %StackGuard() and %Interrupt() runtime calls and the individual actions performed in StackGuard::HandleInterrupts(). This includes: - "V8.GCHandleGCRequest" (in "disabled-by-default-v8.gc") when the GC_REQUEST bit is set. - "V8.WasmGrowSharedMemory" (in "disabled-by-default-v8.wasm") when the GROW_SHARED_MEMORY bit is set. - "V8.TerminateExecution" (in "v8.execute") when the TERMINATE_EXECUTION bit is set. - "V8.GCDeoptMarkedAllocationSites" (in "disabled-by-default-v8.gc") when the DEOPT_MARKED_ALLOCATION_SITES bit is set. - "V8.InstallOptimizedFunctions" (in "disabled-by-default-v8.compile") when the INSTALL_CODE bit is set. - "V8.InvokeApiInterruptCallbacks" (in "v8.execute") when the API_INTERRUPT bit is set. Now we also emit a trace event "V8.MarkCandidatesForOptimization" (in "disabled-by-default-v8.compile") in addition to the above from the RuntimeProfiler when we mark candidates for optimization at the end of each stack check. An example of the "V8.InstallOptimizedFunctions" in action (in the trace viewer) can be seen here: https://i.paste.pics/094a04af035eedc0690cd4079afa28f1.png This supersedes the previously introduced --trace-interrupts CLI flag, which is thus removed as part of this change. Bug: v8:8598 Change-Id: I3c3375d00b07cbe700b6912097d7264031ace802 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538116 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#60428}
Showing
Please
register
or
sign in
to comment