Go to file
bmeurer 022ea7e057 [turbofan] Unify Math.floor / Math.ceil optimization.
Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize
both Math.ceil and Math.floor, and use the JS inlining mechanism to
inline Math.ceil into TurboFan code. Although we need to touch code
outside of TurboFan to make this work, this does not affect the way we
handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft
the old-style builtin function id based inlining still kicks in first.

Once this solution is stabilized, we can use it for Math.floor as well.
And once that is settled, we can establish it as the unified way to
inline builtins, and get rid of the specialized builtin function id
based inlining at some point.

Note that "builtin" applies to basically every piece of internal
JavaScript/intrinsics based code, so this also applies to the yet to be
defined JavaScript based code stubs and handlers.

BUG=v8:3953
LOG=n
R=yangguo@chromium.org,svenpanne@chromium.org

Review URL: https://codereview.chromium.org/990963003

Cr-Commit-Position: refs/heads/master@{#27086}
2015-03-10 08:42:53 +00:00
benchmarks Revert "Refactoring: Make gtest testsuite the default." 2014-09-02 09:17:26 +00:00
build Fix full rebuilding after clang rolls. 2015-03-09 17:22:33 +00:00
include remove phantom naming from the api 2015-03-09 21:48:09 +00:00
samples shell.cc race condition 2015-02-02 08:08:31 +00:00
src [turbofan] Unify Math.floor / Math.ceil optimization. 2015-03-10 08:42:53 +00:00
test [turbofan] Unify Math.floor / Math.ceil optimization. 2015-03-10 08:42:53 +00:00
testing Add linux dbg coverage to CQ. 2015-02-24 16:39:23 +00:00
third_party/binutils Ignore unsupport host architectures for binutils download. 2015-02-10 07:51:42 +00:00
tools [turbofan] Unify Math.floor / Math.ceil optimization. 2015-03-10 08:42:53 +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 Port chromium landmines script. 2015-02-24 16:57:47 +00:00
.ycm_extra_conf.py [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
AUTHORS Fix preparing log file name. 2015-03-03 11:03:49 +00:00
BUILD.gn Hide Math function implementations in a closure. 2015-03-09 13:25:44 +00:00
ChangeLog Upgrade version and change log after branch. 2014-11-10 10:41:13 +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-03-05 04:24:20 +00:00
LICENSE Update LICENSE date. 2014-02-18 10:50:22 +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 introduce android_x64 build target 2015-03-09 03:23:12 +00:00
Makefile.android introduce android_x64 build target 2015-03-09 03:23:12 +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 Add public version macros. 2015-02-26 08:59:23 +00:00
README.md Update all DEPS to match chromium's DEPS at edb488e 2014-12-08 12:27:26 +00:00
WATCHLISTS Add myself to a watchlist for the public API. 2013-10-10 11:37:48 +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/*