Go to file
yangguo 2146ab7538 Serializer: support all alignment kinds.
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}
2015-06-16 09:46:12 +00:00
benchmarks Revert "Refactoring: Make gtest testsuite the default." 2014-09-02 09:17:26 +00:00
build MIPS64: Reland 'Enable shorten-64-to-32 warning.' 2015-06-15 12:05:19 +00:00
include [turbofan] Use appropriate type for NodeId. 2015-06-12 12:03:19 +00:00
infra /infra-config directory 2015-06-01 16:19:49 +00:00
samples Update all callsites of the TryCatch ctor to pass an Isolate 2015-05-28 12:49:41 +00:00
src Serializer: support all alignment kinds. 2015-06-16 09:46:12 +00:00
test [turbofan] Work around negative parameter count. 2015-06-16 09:44:28 +00:00
testing Converted V8 CQ config to proto-format 2015-05-28 15:02:53 +00:00
third_party/binutils Ignore unsupport host architectures for binutils download. 2015-02-10 07:51:42 +00:00
tools [test] More debugging output in test runner. 2015-06-12 13:43:57 +00:00
.clang-format Change clang-format config to allow for two empty lines between functions 2013-12-03 10:39:21 +00:00
.gitignore Adding ecmascript simd tests. 2015-05-19 10:14:36 +00:00
.ycm_extra_conf.py [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
AUTHORS Re-write duplicated assertions 2015-04-01 15:13:21 +00:00
BUILD.gn [turbofan] Move RawMachineAssembler to unittests. 2015-06-12 10:33:19 +00:00
ChangeLog Update change log to match roll branch. 2015-05-18 15:03:50 +00:00
codereview.settings Removed TRYSERVER_ROOT since this is not used anymore 2015-01-28 11:04:32 +00:00
DEPS Update V8 DEPS. 2015-06-16 03:26:38 +00:00
LICENSE Update LICENSE date. 2014-02-18 10:50:22 +00:00
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
Makefile Introduce a new gyp flag to warn about to be deprecated APIs 2015-05-21 10:34:22 +00:00
Makefile.android Update V8 DEPS. 2015-06-15 07:54:08 +00:00
Makefile.nacl Use the pnacl-clang toolchain for (P)NaCL builds 2014-10-06 08:10:50 +00:00
OWNERS Add Erik Arvidsson to OWNERS 2015-01-28 18:23:29 +00:00
PRESUBMIT.py [test] Add avx2 bot to CQ. 2015-04-30 08:47:49 +00:00
README.md Fix line breaks in md documentation. 2015-03-25 14:54:54 +00:00
WATCHLISTS Temporary auto-CC'ing hablich to x87 changes 2015-05-26 13:05:32 +00:00

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/*