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

Issue 2170343002: [turbofan] Change Float64Max/Float64Min to JavaScript semantics. (Closed)

Created:
4 years, 5 months ago by Benedikt Meurer
Modified:
4 years, 5 months ago
Reviewers:
Jarin
CC:
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] Change Float64Max/Float64Min to JavaScript semantics. So far we don't have a useful way to inline Math.max or Math.min in TurboFan optimized code. This adds new operators NumberMax and NumberMin and changes the Float64Max/Float64Min operators to have JavaScript semantics instead of the C++ semantics that it had previously. This also removes support for recognizing the tenary case in the CommonOperatorReducer, since that doesn't seem to have any positive impact (and actually doesn't show up in regular JavaScript, where people use Math.max/Math.min instead). Drive-by-fix: Also nuke the unused Float32Max/Float32Min operators. R=jarin@chromium.org Committed: https://crrev.com/ba092fb09abb6ba3b7154444510c3b4cbdcf65f5 Cr-Commit-Position: refs/heads/master@{#37971}

Patch Set 1 #

Patch Set 2 : arm/arm64 ports. #

Patch Set 3 : mips/mips64 ports. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+466 lines, -926 lines) Patch
M src/compiler/arm/code-generator-arm.cc View 1 1 chunk +65 lines, -34 lines 0 comments Download
M src/compiler/arm/instruction-codes-arm.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/arm/instruction-scheduler-arm.cc View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 1 3 chunks +0 lines, -16 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 2 chunks +9 lines, -23 lines 0 comments Download
M src/compiler/arm64/instruction-codes-arm64.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/arm64/instruction-scheduler-arm64.cc View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 1 2 chunks +1 line, -15 lines 0 comments Download
M src/compiler/common-operator-reducer.cc View 4 chunks +0 lines, -36 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 6 chunks +66 lines, -52 lines 0 comments Download
M src/compiler/ia32/instruction-codes-ia32.h View 2 chunks +0 lines, -6 lines 0 comments Download
M src/compiler/ia32/instruction-scheduler-ia32.cc View 2 chunks +0 lines, -6 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 2 chunks +10 lines, -16 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M src/compiler/js-builtin-reducer.cc View 2 chunks +8 lines, -24 lines 0 comments Download
M src/compiler/machine-operator.h View 2 chunks +24 lines, -35 lines 0 comments Download
M src/compiler/machine-operator.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 1 chunk +16 lines, -50 lines 0 comments Download
M src/compiler/mips/instruction-codes-mips.h View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 2 2 chunks +4 lines, -54 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 2 1 chunk +16 lines, -50 lines 0 comments Download
M src/compiler/mips64/instruction-codes-mips64.h View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 2 2 chunks +4 lines, -54 lines 0 comments Download
M src/compiler/opcodes.h View 2 chunks +2 lines, -2 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 2 chunks +2 lines, -8 lines 0 comments Download
M src/compiler/representation-change.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 2 chunks +73 lines, -0 lines 0 comments Download
M src/compiler/simplified-operator.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/simplified-operator.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/typer.cc View 4 chunks +58 lines, -6 lines 0 comments Download
M src/compiler/verifier.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 4 chunks +51 lines, -22 lines 0 comments Download
M src/compiler/x64/instruction-codes-x64.h View 2 chunks +0 lines, -6 lines 0 comments Download
M src/compiler/x64/instruction-scheduler-x64.cc View 2 chunks +0 lines, -6 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 4 chunks +8 lines, -16 lines 0 comments Download
M test/cctest/compiler/test-run-machops.cc View 2 chunks +15 lines, -32 lines 0 comments Download
M test/unittests/compiler/arm/instruction-selector-arm-unittest.cc View 1 3 chunks +0 lines, -38 lines 0 comments Download
M test/unittests/compiler/arm64/instruction-selector-arm64-unittest.cc View 1 3 chunks +0 lines, -40 lines 0 comments Download
M test/unittests/compiler/common-operator-reducer-unittest.cc View 2 chunks +0 lines, -120 lines 0 comments Download
M test/unittests/compiler/js-builtin-reducer-unittest.cc View 2 chunks +12 lines, -54 lines 0 comments Download
M test/unittests/compiler/machine-operator-unittest.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M test/unittests/compiler/mips/instruction-selector-mips-unittest.cc View 1 2 4 chunks +0 lines, -37 lines 0 comments Download
M test/unittests/compiler/mips64/instruction-selector-mips64-unittest.cc View 1 2 3 chunks +0 lines, -36 lines 0 comments Download
M test/unittests/compiler/node-test-utils.h View 2 chunks +4 lines, -4 lines 0 comments Download
M test/unittests/compiler/node-test-utils.cc View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 18 (12 generated)
Benedikt Meurer
4 years, 5 months ago (2016-07-22 07:15:25 UTC) #1
Benedikt Meurer
Hey Jaro, Here's some cleanup for the max/min builtin inlining in TurboFan. Please take a ...
4 years, 5 months ago (2016-07-22 07:57:16 UTC) #9
Jarin
lgtm
4 years, 5 months ago (2016-07-22 08:15:54 UTC) #10
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/2170343002/40001
4 years, 5 months ago (2016-07-22 08:20:28 UTC) #14
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 5 months ago (2016-07-22 08:22:14 UTC) #16
commit-bot: I haz the power
4 years, 5 months ago (2016-07-22 08:25:26 UTC) #18
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/ba092fb09abb6ba3b7154444510c3b4cbdcf65f5
Cr-Commit-Position: refs/heads/master@{#37971}

Powered by Google App Engine
This is Rietveld 408576698