Go to file
bmeurer@chromium.org 88efe28d3c [turbofan] Combine JSToNumber and ChangeTaggedToFloat64 for fast SMI case.
This does the following optimization during ChangeLowering:

 ChangeTaggedToFloat64(JSToNumber(x)) =>
   if IsSmi(x) then ChangeSmiToFloat64(x)
   else let y = JSToNumber(x) in
     if IsSmi(y) then ChangeSmiToFloat64(y)
     else LoadHeapNumberValue(y)

Also cleanup/rearrange some code duplication in ChangeLowering.

R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25195}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:26:19 +00:00
benchmarks Revert "Refactoring: Make gtest testsuite the default." 2014-09-02 09:17:26 +00:00
build Remove deprecated lexer-shell. 2014-10-23 11:42:30 +00:00
include The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers. 2014-11-06 09:17:14 +00:00
samples Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
src [turbofan] Combine JSToNumber and ChangeTaggedToFloat64 for fast SMI case. 2014-11-06 13:26:19 +00:00
test Revert "Remove workaround for successors on end block from scheduler." 2014-11-06 13:12:16 +00:00
testing Remove v8stdint.h, it doesn't serve a purpose anymore. 2014-10-21 08:25:14 +00:00
tools Whitespace change to trigger bots (5) 2014-11-05 22:09:11 +00:00
.clang-format Change clang-format config to allow for two empty lines between functions 2013-12-03 10:39:21 +00:00
.DEPS.git Add android tools to v8's deps. 2014-08-28 11:09:46 +00:00
.gitignore Make GIT ignore all turbo.cfg files. 2014-10-23 16:11:56 +00:00
AUTHORS Improve String.repeat. 2014-10-17 10:01:38 +00:00
BUILD.gn Introduce Diamond, a helper for building diamond-shaped control patterns. 2014-11-04 14:37:44 +00:00
ChangeLog Sync change log file with trunk. 2014-05-19 15:29:29 +00:00
codereview.settings Add PROJECT to v8 2014-06-23 15:33:19 +00:00
DEPS Add android tools to v8's deps. 2014-08-28 11:09:46 +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 Add turbocheck Makefile target. 2014-10-31 08:39:43 +00:00
Makefile.android Update toolchain for Android mipsel, ia32, x87. 2014-08-19 11:20:42 +00:00
Makefile.nacl Use the pnacl-clang toolchain for (P)NaCL builds 2014-10-06 08:10:50 +00:00
OWNERS Revoke my own OWNERS bit. 2014-10-28 23:47:39 +00:00
PRESUBMIT.py Add a PRESUBMIT check that production code does not call test code 2014-09-23 08:14:06 +00:00
README.md Add README.md file 2014-10-20 11:37:06 +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

V8 Git repository: https://chromium.googlesource.com/v8/v8.git GitHub mirror: https://github.com/v8/v8-git-mirror

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/*