0dc598df0c
1) Instead of passing three boolean values to |TriggerCallbacks|, pass one EnumSet which contains all events to trigger. 2) Remember which events already happened, to avoid triggering them again. 3) Compute triggered events once after the loop in |OnFinishedUnits|, instead of checking for every finished unit. 4) When a new callback is registered, trigger all previous events immediately. This solves issue v8:10217. 5) Replace |NotifyTopTierReady| by |AddCallback| which is identical now. 6) Do not call |OnFinishedJSToWasmWrapperUnits| if no wrappers were compiled (this is a minor performance optimization; we save taking and releasing a lock). 7) Drive-by: Make the |EnumSet| constructor really constexpr (by making |Mask| constexpr). R=ahaas@chromium.org Bug: v8:10217 Change-Id: Ib3688a1687ad7b523e90efd73f4073e9f1193016 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072737 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66459} |
||
---|---|---|
build_overrides | ||
custom_deps | ||
docs | ||
gni | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.flake8 | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
.vpython | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
COMMON_OWNERS | ||
DEPS | ||
ENG_REVIEW_OWNERS | ||
INFRA_OWNERS | ||
INTL_OWNERS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
MIPS_OWNERS | ||
OWNERS | ||
PPC_OWNERS | ||
PRESUBMIT.py | ||
README.md | ||
S390_OWNERS | ||
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://v8.dev/docs
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 at v8.dev/docs/contribute.