Go to file
bjaideep 6203906ccd PPC: [builtins] Introduce proper Float64Log1p, Float64Atan and Float64Atan2 operators.
Port 7ceed92ac0
Port 89d8c57b9c

Original commit message:

    Import base::ieee754::atan() and base::ieee754::atan2() from fdlibm and
    introduce Float64Atan and Float64Atan2 TurboFan operators based on those,
    similar to what we already did for Float64Log and Float64Log1p. Rewrite
    Math.atan() and Math.atan2() as TurboFan builtin and use the operators
    to also inline Math.atan() and Math.atan2() into optimized TurboFan functions.

    Import base::ieee754::log1p() from fdlibm and introduce a Float64Log1p
    TurboFan operator based on that, similar to what we do for Float64Log.
    Rewrite Math.log1p() as TurboFan builtin and use that operator to also
    inline Math.log1p() into optimized TurboFan functions.

    Also unify the handling of the special IEEE 754 functions somewhat in
    the TurboFan backends. At some point we can hopefully express this
    completely in the InstructionSelector (once we have an idea what to do
    with the ST(0) return issue on IA-32/X87).

    Drive-by-fix: Add some more test coverage for the log function.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:5086,v8:5092,v8:5095
LOG=N

Review-Url: https://codereview.chromium.org/2061753002
Cr-Commit-Position: refs/heads/master@{#36935}
2016-06-13 15:31:51 +00:00
benchmarks Revert "Refactoring: Make gtest testsuite the default." 2014-09-02 09:17:26 +00:00
build_overrides [gn] Rework debug configurations 2016-06-07 13:44:43 +00:00
docs [Docs] Removed unused docs because they are moved to GitHub 2015-11-19 10:23:30 +00:00
gni [gn] Fix gyp/gn translation of use_snapshot 2016-06-07 08:02:47 +00:00
gypfiles [build] Use icu data file by default 2016-06-09 13:24:58 +00:00
include Cleanup after EmbedderHeapTracer api updates 2016-06-13 14:27:06 +00:00
infra Revert of [mb] Switch staging bot to gyp for testing purposes (patchset #1 id:1 of https://codereview.chromium.org/2056673002/ ) 2016-06-09 13:21:36 +00:00
samples [icu] Support loading data file from default location 2016-06-08 12:11:34 +00:00
src PPC: [builtins] Introduce proper Float64Log1p, Float64Atan and Float64Atan2 operators. 2016-06-13 15:31:51 +00:00
test Remove erroneous DCHECK related to expression classifiers 2016-06-13 12:34:19 +00:00
testing Converted V8 CQ config to proto-format 2015-05-28 15:02:53 +00:00
third_party/binutils [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
tools [turbolizer] Features and bug-fixes 2016-06-13 13:21:54 +00:00
.clang-format [formatting] Remove the formatting requirement for 2 empty lines between declarations. 2016-01-25 09:50:17 +00:00
.gitignore [mb] Add mb config 2016-06-09 09:12:54 +00:00
.gn [gn] Port exec_script whitelist from chromium/src/build 2016-06-07 07:49:12 +00:00
.ycm_extra_conf.py Use C++11 / gnu++11, not 0x 2016-03-22 15:24:43 +00:00
AUTHORS tools: Fix a syntax error in plot-timer-events 2016-05-23 10:19:47 +00:00
BUILD.gn [turbofan] Retiring Greedy Allocator 2016-06-13 04:24:12 +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. 2016-06-12 03:25:30 +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 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 [build] Ensure target_arch is set correctly in toplevel Makefile 2016-06-08 13:54:13 +00:00
Makefile.android [build] Fix d8-for-Android builds 2016-05-20 12:10:45 +00:00
Makefile.nacl [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
OWNERS [owners] adding more toplevel owners (but mainly me) 2016-03-16 15:54:42 +00:00
PRESUBMIT.py Remove LOG line checking from presubmit 2016-05-10 17:21:56 +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 Try to reland v8_snapshot GN build changes, take #3 2016-05-20 07:00:09 +00:00
WATCHLISTS [GN] Watchlist upadate to track gyp changes. 2016-05-17 08:14:26 +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.