de96cb1552
Changes since original: - Updated to use the returned value from CompleteMergeInForeground as the compilation result, which is important for correctness. - Added a test to verify the above. - Moved the merge code into code-serializer.cc so that it can run before FinalizeDeserialization, which makes it more consistent with background deserialization. Original change's description: > Merge with cached Script after synchronous deserialization > > Currently, if a script is deserialized on a background thread and a > matching Script object is found in the Isolate compilation cache, the > new content is merged into the existing Script. This CL implements the > same merging for the much simpler case of deserializing on the main > thread. I expect speed changes to be minimal, because merging is only > needed in a small minority of compilations. When needed, it usually > takes about 10% as long as the corresponding deserialization. > > Bug: v8:12808 > Change-Id: Ie7a92bcb3111edf4cdab0eddeb7567979b35f437 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4010100 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#84123} Bug: v8:12808 Change-Id: I0628a381644e79888cb3ebdd97bda270814d0e9b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4014644 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#84255} |
||
---|---|---|
.github | ||
bazel | ||
build_overrides | ||
custom_deps | ||
docs | ||
gni | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
tools | ||
.bazelrc | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.flake8 | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
.mailmap | ||
.style.yapf | ||
.vpython3 | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.bazel | ||
BUILD.gn | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
COMMON_OWNERS | ||
DEPS | ||
DIR_METADATA | ||
ENG_REVIEW_OWNERS | ||
INFRA_OWNERS | ||
INTL_OWNERS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LOONG_OWNERS | ||
MIPS_OWNERS | ||
OWNERS | ||
PPC_OWNERS | ||
PRESUBMIT.py | ||
README.md | ||
RISCV_OWNERS | ||
S390_OWNERS | ||
WATCHLISTS | ||
WORKSPACE |
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.