1f1bd71dd0
Simplify the internal state of Sampler a bit. There are basically two users of Sampler - the CpuSampler used by the CpuProfiler and the Ticker used by log.cc. Ticker calls Start/Stop to manage the Sampler lifetime, but CpuProfiler does not. This leads to much confusion and overlap of functionality. Fix that here by removing the distinction between active, registered and isProfiling states. These are now all the same thing and are represented by IsActive(). The state is set to active when Start is called, and set inactive when Stop is called. Both users of Sampler now call Start and Stop at appropriate times. The concept of profiling depth was not used - each Sampler would only ever have a sampling depth of 1. We still need to call SignalHandler::IncreaseSamplerCount(), so we do that in Start and the corresponding DecreaseSamplerCount() in Stop. Change-Id: I16a9435d26169a7dd00b1c7876e66af45f12e4b0 Reviewed-on: https://chromium-review.googlesource.com/c/1424337 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58955} |
||
---|---|---|
benchmarks | ||
build_overrides | ||
custom_deps | ||
docs | ||
gni | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
.vpython | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
ChangeLog | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
DEPS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
OWNERS | ||
PRESUBMIT.py | ||
README.md | ||
snapshot_toolchain.gni | ||
WATCHLISTS |
V8 JavaScript Engine
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://github.com/v8/v8/wiki
Getting the Code
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/*
Contributing
Please follow the instructions mentioned on the V8 wiki.