Go to file
zhengxing.li 5572cea1d1 X87: [turbofan] Remove special JSForInStep and JSForInDone.
port 1915762cc8 (r38968)

  original commit message:
  These JavaScript operators were special hacks to ensure that we always
  operate on Smis for the magic for-in index variable, but this never
  really worked in the OSR case, because the OsrValue for the index
  variable didn't have the proper information (that we have for the
  JSForInPrepare in the non-OSR case).

  Now that we have loop induction variable analysis and binary operation
  hints, we can just use JSLessThan and JSAdd instead with appropriate
  Smi hints, which handle the OSR case by inserting Smi checks (that are
  always true). Thanks to OSR deconstruction and loop peeling these Smi
  checks will be hoisted so they don't hurt the OSR case too much.

  Drive-by-change: Rename the ForInDone bytecode to ForInContinue, since
  we have to lower it to JSLessThan to get the loop induction variable
  goodness.

BUG=

Review-Url: https://codereview.chromium.org/2286353003
Cr-Commit-Position: refs/heads/master@{#38992}
2016-08-30 06:29:17 +00:00
benchmarks
build_overrides [gn] Switch off java targets for v8 standalone 2016-07-26 14:15:31 +00:00
docs [Docs] Removed unused docs because they are moved to GitHub 2015-11-19 10:23:30 +00:00
gni [swarming] Remove hard-coded shared library configs 2016-07-28 07:18:15 +00:00
gypfiles Reland of Fix compiler warnings on "make android_arm" (patchset #1 id:1 of https://codereview.chromium.org/2286163002/ ) 2016-08-28 21:03:32 +00:00
include [api] Add NumberOfWrappersToTrace to EmbedderHeapTracer. 2016-08-29 15:38:51 +00:00
infra [gn] Switch tsan to gn 2016-08-05 11:55:23 +00:00
samples Provide a convenience array buffer allocator 2016-06-29 07:42:40 +00:00
src X87: [turbofan] Remove special JSForInStep and JSForInDone. 2016-08-30 06:29:17 +00:00
test [test] Speed-up regression test for growing stores. 2016-08-30 04:04:32 +00:00
testing Use GTEST_LANG_CXX11 in V8 2016-07-25 13:06:42 +00:00
third_party/binutils Update binutils version to match Chromium. 2016-07-08 07:03:29 +00:00
tools [WASM] Adding fuzzing binaries for wasm, and script to update them. 2016-08-29 19:01:48 +00:00
.clang-format [formatting] Remove the formatting requirement for 2 empty lines between declarations. 2016-01-25 09:50:17 +00:00
.gitignore [WASM] Adding fuzzing binaries for wasm, and script to update them. 2016-08-29 19:01:48 +00:00
.gn Remove NaCl support. 2016-07-27 07:50:31 +00:00
.ycm_extra_conf.py Use C++11 / gnu++11, not 0x 2016-03-22 15:24:43 +00:00
AUTHORS Solaris/OpenBSD/FreeBSD: [heap] Uncommit unused large object page memory. 2016-08-16 12:00:53 +00:00
BUILD.gn [wasm] Create a new fuzzer for wasm code. 2016-08-29 13:56:00 +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 [WASM] Adding fuzzing binaries for wasm, and script to update them. 2016-08-29 19:01:48 +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
LICENSE.v8
LICENSE.valgrind
Makefile Remove NaCl support. 2016-07-27 07:50:31 +00:00
Makefile.android [build] Fix d8-for-Android builds 2016-05-20 12:10:45 +00:00
OWNERS Adding some wasm committers to top level OWNERS. 2016-06-28 16:28:06 +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 Use clang for snapshot_toolchain by default, except on ChromeOS. 2016-08-23 14:04:27 +00:00
WATCHLISTS Remove myself from v8 WATCHLISTS 2016-07-04 14:45:04 +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.