2146ab7538
We use an alignment prefix for unusual alignment kinds (not kWordAligned). This will cause new objects to be aligned in ReadObject, and back references to be aligned to skip padding. The motivation to change the undefined next sentinel in WeakCell is this: When the deserializer aligns an object, it requires filler maps to already exist to create filler objects as padding. However, deserializing the filler map leads to deserializing NaN, which as heap number is aligned: filler map > meta map > weak cell cache > undefined > NaN If we use the-hole instead of undefined as sentinel, it works. R=jochen@chromium.org,bbudge@chromium.org BUG=v8:4178 LOG=N Review URL: https://codereview.chromium.org/1179873003 Cr-Commit-Position: refs/heads/master@{#29044} |
||
---|---|---|
benchmarks | ||
build | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party/binutils | ||
tools | ||
.clang-format | ||
.gitignore | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
ChangeLog | ||
codereview.settings | ||
DEPS | ||
LICENSE | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
Makefile | ||
Makefile.android | ||
Makefile.nacl | ||
OWNERS | ||
PRESUBMIT.py | ||
README.md | ||
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://code.google.com/p/v8/
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/*