Go to file
bmeurer 99aaa69b29 [turbofan] Consume feedback types for NumberMax and NumberMin.
For nodes

  NumberMin(lhs, rhs)
  NumberMax(lhs, rhs)

we might have feedback types for lhs and rhs that would allow us to
generate unsigned32 or signed32 versions of this operator, which is way
more efficient that going to the full Float64Min/Float64Max operator.
However we cannot promise word32 truncations in this case, since we
based this decision on the feedback types.

This allows us to generate better code for Math.min and Math.max when
one of the inputs is a speculative number operator that provides better
typing during representation selection. We've seen such code in the
hottest function on Google Maps for example.

BUG=v8:5267
R=jarin@chromium.org,mvstanton@chromium.org

Review-Url: https://codereview.chromium.org/2734193003
Cr-Commit-Position: refs/heads/master@{#43660}
2017-03-08 06:05:41 +00:00
benchmarks
build_overrides Remove build_overrides/v8.gni. 2017-01-26 20:18:58 +00:00
docs [Docs] Removed unused docs because they are moved to GitHub 2015-11-19 10:23:30 +00:00
gni Make sure a pure list of headers is never turned into a static library 2017-02-13 08:43:43 +00:00
gypfiles [build] Fix gyp files for building inspector 2017-03-02 09:55:56 +00:00
include Make idle tasks optional in the default platform. 2017-03-07 13:37:41 +00:00
infra Revert "[swarming] Dogfood exparchive feature" 2017-02-17 10:18:41 +00:00
samples Reland of land "Turn libbase into a component" (patchset #1 id:1 of https://codereview.chromium.org/2396933002/ ) 2016-10-07 07:56:52 +00:00
src [turbofan] Consume feedback types for NumberMax and NumberMin. 2017-03-08 06:05:41 +00:00
test [WASM] Implement remaining F32x4 operations for ARM. 2017-03-08 00:01:36 +00:00
testing Use GTEST_LANG_CXX11 in V8 2016-07-25 13:06:42 +00:00
third_party Adapt String::find method via StringUtil adapter. 2017-02-03 22:17:24 +00:00
tools SnapshotCreator: start from existing snapshot if we have one 2017-03-07 16:36:51 +00:00
.clang-format [clang-format] Don't derive pointer alignment 2017-01-17 09:28:19 +00:00
.gitignore [wasm] include JS conformance tests in Wasm mjsunit tests 2017-02-14 18:25:32 +00:00
.gn [build] Roll build a3b623a:11a223f 2016-11-29 11:17:15 +00:00
.ycm_extra_conf.py Use C++11 / gnu++11, not 0x 2016-03-22 15:24:43 +00:00
AUTHORS Migrate Number constants and undefined to C++ 2017-02-27 08:20:45 +00:00
BUILD.gn [build] Introduce build flag to disable turbofan. 2017-03-07 17:53:44 +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. 2017-03-08 04:28:25 +00:00
LICENSE
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 Make enabling of CSA verifier a build-time flag 2017-01-27 11:32:27 +00:00
Makefile.android [build] Fix d8-for-Android builds 2016-05-20 12:10:45 +00:00
OWNERS Make clemensh owner (wasm, asmjs and general) 2017-01-13 10:20:44 +00:00
PRESUBMIT.py [test] Do status-file presubmit check for any test file changes. 2017-02-17 10:14:02 +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 [inspector] added devtools-reviews@chromium.org in WATCHLISTS for inspector 2016-09-29 15:16:54 +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.