Go to file
franzih 7e4c4cb5c5 Fix toString() behavior on proxy objects.
Proxy objects need special treatment in toString(). Usually, we use the
@@toStringTag, if it is set, otherwise we determine the result of toString()
by checking IsArray() and other internal slots. According to
ES2017 19.1.3.6, IsArray() and the internal slots  must be checked first,
then get(@@toStringTag). The result of IsArray() and internal slots is discarded if
@@toStringTag is set. For proxy
objects, we must obey this order, because get() can have side-effects, i.e.,
revoke the proxy. For all other objects, we can skip the check of the
internal slots, if @@toStringTag is set.

BUG=

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2090773006
Cr-Commit-Position: refs/heads/master@{#37289}
2016-06-27 12:12:46 +00:00
benchmarks Revert "Refactoring: Make gtest testsuite the default." 2014-09-02 09:17:26 +00:00
build_overrides [gn] Fix another ia32/x86 typo. 2016-06-17 07:44:41 +00:00
docs [Docs] Removed unused docs because they are moved to GitHub 2015-11-19 10:23:30 +00:00
gni Use the new "optimize_speed" GN config. 2016-06-21 23:37:14 +00:00
gypfiles v8 clang/win: Stop passing /FIIntrin.h 2016-06-27 07:34:35 +00:00
include Optionally invoke an interceptor on failed access checks 2016-06-27 11:49:09 +00:00
infra Make bucket names explicit in cq.cfg. 2016-06-24 20:14:25 +00:00
samples [icu] Support loading data file from default location 2016-06-08 12:11:34 +00:00
src Fix toString() behavior on proxy objects. 2016-06-27 12:12:46 +00:00
test Fix toString() behavior on proxy objects. 2016-06-27 12:12:46 +00:00
testing Converted V8 CQ config to proto-format 2015-05-28 15:02:53 +00:00
third_party/binutils [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
tools Use gender neutral terms 2016-06-22 15:05:18 +00:00
.clang-format [formatting] Remove the formatting requirement for 2 empty lines between declarations. 2016-01-25 09:50:17 +00:00
.gitignore [mb] Add mb config 2016-06-09 09:12:54 +00:00
.gn [gn] Port exec_script whitelist from chromium/src/build 2016-06-07 07:49:12 +00:00
.ycm_extra_conf.py Use C++11 / gnu++11, not 0x 2016-03-22 15:24:43 +00:00
AUTHORS Parser: Report use counts once per feature 2016-06-14 21:41:31 +00:00
BUILD.gn [gn] Add remaining executables to gn 2016-06-27 11:57:50 +00:00
ChangeLog [Release] Update ChangeLog file 2016-02-17 21:29:09 +00:00
CODE_OF_CONDUCT.md Explicitly state that the Chromium Code of Conduct also applies to V8 2016-03-02 09:51:24 +00:00
codereview.settings Use v8-reviews@ for review mail, so v8-dev@ is free for dev discussions 2015-09-09 08:14:11 +00:00
DEPS Update V8 DEPS. 2016-06-27 03:24:14 +00:00
LICENSE Updates to the license information of third party components. 2015-06-16 12:37:50 +00:00
LICENSE.fdlibm Add LICENSE.fdlibm for all the fdlibm imported sources. 2016-06-09 07:17:03 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile PPC/s390: [build] fix target_arch for ppc/s390 native builds 2016-06-17 13:57:09 +00:00
Makefile.android [build] Fix d8-for-Android builds 2016-05-20 12:10:45 +00:00
Makefile.nacl [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
OWNERS [owners] adding more toplevel owners (but mainly me) 2016-03-16 15:54:42 +00:00
PRESUBMIT.py Enable check for non-gender neutral pronouns 2016-06-23 07:15:18 +00:00
README.md [Docs] Removed unused docs because they are moved to GitHub 2015-11-19 10:23:30 +00:00
snapshot_toolchain.gni Try to reland v8_snapshot GN build changes, take #3 2016-05-20 07:00:09 +00:00
WATCHLISTS [GN] Watchlist upadate to track gyp changes. 2016-05-17 08:14:26 +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://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.