commit | 88926769783fecb3bd3b08a7a0cb702b037d9f85 | [log] [tgz] |
---|---|---|
author | Sara Tang <sartang@microsoft.com> | Mon Mar 01 19:42:27 2021 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Mar 02 21:53:52 2021 |
tree | 65be297c4703815d6a7b1dffee68464a471ef651 | |
parent | 476582bfa6352baedf5362266b396d75b452ac9a [diff] |
Step 2 (of 2) for ETW integration into V8 Design doc: https://docs.google.com/document/d/1xkXj94iExFgLWc_OszTNyNGi523ARaKMWPZTeomhI4U This is the second (and hopefully final!) change list needed to integrate ETW into V8. In particular, we added stack-walking functionality for JIT-ted functions! Some notes on instrumentation: - The gist of getting stack-walking in ETW is we need to emit events with specific event IDs. These events get stitched into a pseudo-PDB that is recognizable by ETW. - Unfortunately, we cannot rely on the TraceLogging API from the first CL, as it does not support specifying event IDs. Instead, Bill Ticehurst wrote an API that peels back the TraceLogging API just enough so that we can specify event IDs. This API is the entirety of etw-metdata.h - We attach a CodeEventHandler that logs a stack-walking event whenever code movement is triggered. Bug: v8:11043 Change-Id: I1bf57c985b7375f045089027855b1c03878abb78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2616221 Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sara Tang <sartang@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73145}
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://v8.dev/docs
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies. To stay up to date, run
git pull origin gclient sync
For fetching all branches, add the following into your remote configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/* fetch = +refs/tags/*:refs/tags/*
Please follow the instructions mentioned at v8.dev/docs/contribute.