cace2f533e
The original CL was flaky because deserialization did not wait correctly for the compilation of missing functions to finish. The baseline-finished event was set even when there were still some functions missing. The combination of deserialization and lazy compilation was also not handled correctly. Original change's description: > [wasm] Support partial serialization of modules > > At the moment a WebAssembly module can be serialized successfully when > all functions were compiled with TurboFan. However, for some functions > it may not be necessary to be compiled with TurboFan, e.g. for functions > where Liftoff code is as good as TurboFan code. > > With this CL we allow WebAssembly modules to get serialized even when > not all functions are compiled with TurboFan. Missing functions are > marked as missing in the serlialization. Upon deserialization, missing > functions either get compiled by Liftoff, or initialized with a > lazy-compilation stub, depending on the V8 configuration. > > Bug: v8:11862 Change-Id: I79a9e8e14199cff87fce6ae41a87087e047bbc65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060485 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#76017} |
||
---|---|---|
.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 | ||
.vpython | ||
.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 | ||
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.