Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1272)

Issue 2060743002: [builtins] Introduce proper Float64Log1p operator. (Closed)

Created:
4 years, 6 months ago by Benedikt Meurer
Modified:
4 years, 5 months ago
Reviewers:
Yang, Michael Achenbach
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@Math_Log
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[builtins] Introduce proper Float64Log1p operator. 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=yangguo@chromium.org BUG=v8:5086, v8:5092 Committed: https://crrev.com/7ceed92ac036d6b4e402d76a5cea130a3c4cfbf1 Cr-Commit-Position: refs/heads/master@{#36914}

Patch Set 1 #

Patch Set 2 : REBASE #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+524 lines, -259 lines) Patch
M src/assembler.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/assembler.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/base/ieee754.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/base/ieee754.cc View 2 chunks +168 lines, -0 lines 0 comments Download
M src/bootstrapper.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/builtins.h View 2 chunks +3 lines, -0 lines 0 comments Download
M src/builtins.cc View 1 chunk +12 lines, -0 lines 2 comments Download
M src/compiler/arm/code-generator-arm.cc View 2 chunks +19 lines, -12 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 2 chunks +12 lines, -7 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M src/compiler/code-assembler.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 2 chunks +20 lines, -12 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M src/compiler/instruction-codes.h View 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/instruction-scheduler.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/instruction-selector.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 2 chunks +10 lines, -0 lines 0 comments Download
M src/compiler/js-builtin-reducer.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/js-builtin-reducer.cc View 2 chunks +14 lines, -0 lines 0 comments Download
M src/compiler/machine-operator.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/machine-operator.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/machine-operator-reducer.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 2 chunks +16 lines, -11 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 2 chunks +16 lines, -11 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M src/compiler/opcodes.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/representation-change.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/simplified-operator.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/simplified-operator.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/typer.cc View 2 chunks +4 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 2 chunks +11 lines, -2 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M src/external-reference-table.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/objects.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/profiler/profile-generator.h View 1 chunk +1 line, -1 line 0 comments Download
M src/third_party/fdlibm/fdlibm.js View 2 chunks +0 lines, -159 lines 0 comments Download
M test/cctest/compiler/test-run-machops.cc View 1 chunk +14 lines, -0 lines 0 comments Download
M test/cctest/compiler/value-helper.h View 1 chunk +3 lines, -0 lines 0 comments Download
A test/unittests/base/ieee754-unittest.cc View 1 chunk +57 lines, -0 lines 0 comments Download
M test/unittests/compiler/js-builtin-reducer-unittest.cc View 1 chunk +44 lines, -0 lines 0 comments Download
M test/unittests/compiler/machine-operator-reducer-unittest.cc View 1 chunk +14 lines, -0 lines 0 comments Download
M test/unittests/compiler/node-test-utils.h View 1 chunk +2 lines, -0 lines 0 comments Download
M test/unittests/compiler/node-test-utils.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M test/unittests/unittests.gyp View 1 1 chunk +1 line, -0 lines 1 comment Download

Messages

Total messages: 14 (5 generated)
Benedikt Meurer
4 years, 6 months ago (2016-06-13 05:11:30 UTC) #1
Benedikt Meurer
Hey Yang, Here's log1p unified. Please take a look. Thanks, Benedikt
4 years, 6 months ago (2016-06-13 05:15:52 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2060743002/20001
4 years, 6 months ago (2016-06-13 05:18:22 UTC) #4
Yang
lgtm https://codereview.chromium.org/2060743002/diff/20001/src/builtins.cc File src/builtins.cc (right): https://codereview.chromium.org/2060743002/diff/20001/src/builtins.cc#newcode2486 src/builtins.cc:2486: assembler->Return(result); If only we could reduce duplicate code ...
4 years, 6 months ago (2016-06-13 05:36:34 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2060743002/20001
4 years, 6 months ago (2016-06-13 05:39:44 UTC) #8
Benedikt Meurer
https://codereview.chromium.org/2060743002/diff/20001/src/builtins.cc File src/builtins.cc (right): https://codereview.chromium.org/2060743002/diff/20001/src/builtins.cc#newcode2486 src/builtins.cc:2486: assembler->Return(result); On 2016/06/13 05:36:33, Yang wrote: > If only ...
4 years, 6 months ago (2016-06-13 05:40:17 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 6 months ago (2016-06-13 05:46:43 UTC) #10
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/7ceed92ac036d6b4e402d76a5cea130a3c4cfbf1 Cr-Commit-Position: refs/heads/master@{#36914}
4 years, 6 months ago (2016-06-13 05:48:10 UTC) #12
Michael Achenbach
4 years, 5 months ago (2016-06-27 07:45:35 UTC) #14
Message was sent while issue was closed.
https://codereview.chromium.org/2060743002/diff/20001/test/unittests/unittest...
File test/unittests/unittests.gyp (right):

https://codereview.chromium.org/2060743002/diff/20001/test/unittests/unittest...
test/unittests/unittests.gyp:34: 'base/ieee754-unittest.cc',
Note: This unittest will stop running when we switch to GN if not specified in
BUILD.gn.

Powered by Google App Engine
This is Rietveld 408576698