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

Issue 2103733003: [turbofan] Introduce Float64Pow and NumberPow operators. (Closed)

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

Description

[turbofan] Introduce Float64Pow and NumberPow operators. Introduce a new machine operator Float64Pow that for now is backed by the existing MathPowStub to start the unification of Math.pow, and at the same time address the main performance issue that TurboFan still has with the imaging-darkroom benchmark in Kraken. Also migrate the Math.pow builtin itself to a TurboFan builtin and remove a few hundred lines of hand-written platform code for special handling of the fullcodegen Math.pow version. BUG=v8:3599, v8:5086, v8:5157 Committed: https://crrev.com/e607e12ea0a706a0b8cb109e95f923426094dc09 Cr-Commit-Position: refs/heads/master@{#37323}

Patch Set 1 #

Patch Set 2 : Fix ia32 register moving #

Patch Set 3 : REBASE on ARM64 bug fix. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+618 lines, -1183 lines) Patch
M src/arm/code-stubs-arm.cc View 4 chunks +14 lines, -110 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 5 chunks +11 lines, -136 lines 0 comments Download
M src/assembler.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/assembler.cc View 1 chunk +0 lines, -8 lines 0 comments Download
M src/bootstrapper.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/builtins.h View 2 chunks +4 lines, -1 line 0 comments Download
M src/builtins.cc View 1 chunk +14 lines, -0 lines 0 comments Download
M src/code-factory.h View 1 chunk +0 lines, -2 lines 0 comments Download
M src/code-factory.cc View 1 chunk +0 lines, -6 lines 0 comments Download
M src/code-stubs.h View 2 chunks +2 lines, -4 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 chunk +5 lines, -0 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 1 chunk +15 lines, -0 lines 0 comments Download
M src/compiler/instruction-codes.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/instruction-scheduler.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M src/compiler/js-builtin-reducer.h View 2 chunks +3 lines, -2 lines 0 comments Download
M src/compiler/js-builtin-reducer.cc View 3 chunks +21 lines, -4 lines 0 comments Download
M src/compiler/machine-operator.h View 2 chunks +3 lines, -1 line 0 comments Download
M src/compiler/machine-operator.cc View 1 chunk +292 lines, -291 lines 0 comments Download
M src/compiler/machine-operator-reducer.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/machine-operator-reducer.cc View 4 chunks +47 lines, -8 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/node-matchers.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/representation-change.cc View 2 chunks +8 lines, -6 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 1 2 4 chunks +8 lines, -4 lines 0 comments Download
M src/compiler/verifier.cc View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/crankshaft/hydrogen.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/crankshaft/hydrogen.cc View 1 2 1 chunk +0 lines, -12 lines 0 comments Download
M src/external-reference-table.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M src/full-codegen/full-codegen.cc View 1 2 1 chunk +0 lines, -13 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 4 chunks +18 lines, -138 lines 0 comments Download
M src/interpreter/interpreter-intrinsics.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/interpreter/interpreter-intrinsics.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M src/js/math.js View 3 chunks +0 lines, -10 lines 0 comments Download
M src/js/v8natives.js View 1 chunk +3 lines, -3 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 4 chunks +13 lines, -110 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 4 chunks +13 lines, -111 lines 0 comments Download
M src/runtime/runtime.h View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/runtime/runtime-maths.cc View 1 chunk +0 lines, -42 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 4 chunks +15 lines, -129 lines 0 comments Download
M test/cctest/compiler/test-code-assembler.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/test-interpreter-intrinsics.cc View 1 chunk +0 lines, -7 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/node-test-utils.h View 2 chunks +4 lines, -2 lines 0 comments Download
M test/unittests/compiler/node-test-utils.cc View 1 chunk +1 line, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 15 (8 generated)
Benedikt Meurer
Hey Enrico, Here's the CL I asked you about. Please take a look. Thanks, Benedikt ...
4 years, 5 months ago (2016-06-28 07:42:03 UTC) #2
epertoso
lgtm
4 years, 5 months ago (2016-06-28 07:54:24 UTC) #3
commit-bot: I haz the power
This CL has an open dependency (Issue 2103793002 Patch 1). Please resolve the dependency and ...
4 years, 5 months ago (2016-06-28 09:54:30 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2103733003/40001
4 years, 5 months ago (2016-06-28 09:55:58 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2103733003/40001
4 years, 5 months ago (2016-06-28 10:16:06 UTC) #12
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 5 months ago (2016-06-28 10:24:09 UTC) #13
commit-bot: I haz the power
4 years, 5 months ago (2016-06-28 10:26:20 UTC) #15
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/e607e12ea0a706a0b8cb109e95f923426094dc09
Cr-Commit-Position: refs/heads/master@{#37323}

Powered by Google App Engine
This is Rietveld 408576698