03058a2187
This CL splits CodeGenerator::GenerateCode into two new functions: AssembleCode and FinishCodeObject. AssembleCode does not access or modify the JS heap, which means that AssembleCode can be executed on background threads. FinishCodeObject allocates the generated code object on the JS heap and therefore has to be executed on the main thread. Implementation details: The GenerateCode function has been split just before out-of-line code is assembled. The reason is that code stubs may be generated when out-of-line code is assembled, which potentially allocates these code stubs on the heap. - Parts of initialization of the CodeGenerator has been moved from the constructor to an Initialize function so that we can instantiate an empty CodeGenerator object in PipelineData. R=bmeurer@chromium.org, mstarzinger@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2229243003 Cr-Commit-Position: refs/heads/master@{#38604} |
||
---|---|---|
benchmarks | ||
build_overrides | ||
docs | ||
gni | ||
gypfiles | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party/binutils | ||
tools | ||
.clang-format | ||
.gitignore | ||
.gn | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
ChangeLog | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
DEPS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
Makefile | ||
Makefile.android | ||
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.