The instanceof cache was initially introduced to speed up x instanceof y where y is always the same constructor and x is always an object with the same map. With the introduction of ES2015's @@hasInstance and the Function.prototype[Symbol.hasInstance] handler (which calls into OrdinaryHasInstance), this already became quite useless. It doesn't seem to provide any real value (not sure it ever did for real), but it's getting in the way of some useful refactorings (i.e. sharing logic between OrdinaryHasInstance and Object.prototype.isPrototypeOf for example). So this CL completely removes the leftover bits of the instanceof cache, including the GC and SetPrototype logic. BUG=v8:6479,v8:6474 R=jgruber@chromium.org TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2932263002 Cr-Commit-Position: refs/heads/master@{#45835} |
||
---|---|---|
benchmarks | ||
build_overrides | ||
docs | ||
gni | ||
gypfiles | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
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.