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 1919513002: [turbofan] Introduce TruncateTaggedToWord32 simplified operator. (Closed)

Created:
4 years, 8 months ago by Benedikt Meurer
Modified:
4 years, 8 months ago
Reviewers:
Jarin
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@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Introduce TruncateTaggedToWord32 simplified operator. This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi" trick that was used in the MachineOperatorReducer to combine the ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of doing that later, we can just introduce the proper operator during the representation selection directly. Also separate the TruncateFloat64ToInt32 machine operator, which had two different meanings depending on a flag (either JavaScript truncation or C++ style round to zero). Now there's a TruncateFloat64ToWord32 which represents the JavaScript truncation (implemented via TruncateDoubleToI macro + code stub) and the RoundFloat64ToInt32, which implements the C++ round towards zero operation (in the same style as the other WebAssembly driven Round* machine operators). R=jarin@chromium.org Committed: https://crrev.com/0231a7efa2b5ce8108a837284e2f63dccd5dcd09 Cr-Commit-Position: refs/heads/master@{#35743}

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+241 lines, -290 lines) Patch
M src/builtins.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/code-stub-assembler.h View 1 chunk +0 lines, -2 lines 0 comments Download
M src/code-stub-assembler.cc View 2 chunks +3 lines, -14 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 1 chunk +5 lines, -8 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 1 chunk +5 lines, -8 lines 0 comments Download
M src/compiler/change-lowering.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/change-lowering.cc View 3 chunks +45 lines, -2 lines 1 comment Download
M src/compiler/code-assembler.h View 2 chunks +2 lines, -2 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 chunk +0 lines, -9 lines 0 comments Download
M src/compiler/effect-control-linearizer.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 1 chunk +5 lines, -8 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 chunk +4 lines, -2 lines 0 comments Download
M src/compiler/machine-operator.h View 3 chunks +4 lines, -17 lines 0 comments Download
M src/compiler/machine-operator.cc View 5 chunks +2 lines, -44 lines 0 comments Download
M src/compiler/machine-operator-reducer.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/compiler/machine-operator-reducer.cc View 3 chunks +12 lines, -33 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 chunk +5 lines, -9 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 chunk +5 lines, -9 lines 0 comments Download
M src/compiler/opcodes.h View 3 chunks +3 lines, -1 line 0 comments Download
M src/compiler/ppc/instruction-selector-ppc.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 2 chunks +6 lines, -3 lines 0 comments Download
M src/compiler/representation-change.cc View 3 chunks +3 lines, -4 lines 0 comments Download
M src/compiler/s390/instruction-selector-s390.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/simplified-lowering.cc View 2 chunks +2 lines, -4 lines 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/simplified-operator-reducer.cc View 1 chunk +12 lines, -0 lines 0 comments Download
M src/compiler/typer.cc View 3 chunks +11 lines, -3 lines 0 comments Download
M src/compiler/verifier.cc View 3 chunks +11 lines, -1 line 0 comments Download
M src/compiler/wasm-compiler.cc View 6 chunks +7 lines, -14 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 2 chunks +5 lines, -9 lines 0 comments Download
M src/compiler/x87/instruction-selector-x87.cc View 1 chunk +1 line, -2 lines 0 comments Download
M test/cctest/compiler/test-representation-change.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/compiler/test-run-machops.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M test/cctest/compiler/test-simplified-lowering.cc View 6 chunks +11 lines, -24 lines 0 comments Download
M test/unittests/compiler/instruction-selector-unittest.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M test/unittests/compiler/machine-operator-reducer-unittest.cc View 3 chunks +33 lines, -38 lines 0 comments Download
M test/unittests/compiler/node-test-utils.h View 2 chunks +1 line, -1 line 0 comments Download
M test/unittests/compiler/node-test-utils.cc View 2 chunks +1 line, -1 line 0 comments Download
M test/unittests/compiler/simplified-operator-reducer-unittest.cc View 1 chunk +22 lines, -0 lines 0 comments Download
M test/unittests/compiler/simplified-operator-unittest.cc View 3 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 9 (2 generated)
Benedikt Meurer
4 years, 8 months ago (2016-04-22 19:45:13 UTC) #1
Benedikt Meurer
Hey Jaro, Here's the next cleanup step, finally getting rid of this weird pushing into ...
4 years, 8 months ago (2016-04-22 19:46:26 UTC) #2
Jarin
lgtm https://codereview.chromium.org/1919513002/diff/1/src/compiler/change-lowering.cc File src/compiler/change-lowering.cc (right): https://codereview.chromium.org/1919513002/diff/1/src/compiler/change-lowering.cc#newcode403 src/compiler/change-lowering.cc:403: if (NodeProperties::GetType(value)->Maybe(Type::Undefined())) { Just a note: We will ...
4 years, 8 months ago (2016-04-24 09:22:50 UTC) #3
Benedikt Meurer
On 2016/04/24 09:22:50, Jarin wrote: > lgtm > > https://codereview.chromium.org/1919513002/diff/1/src/compiler/change-lowering.cc > File src/compiler/change-lowering.cc (right): > ...
4 years, 8 months ago (2016-04-24 11:11:50 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1919513002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1919513002/1
4 years, 8 months ago (2016-04-24 11:12:01 UTC) #6
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 8 months ago (2016-04-24 11:39:41 UTC) #7
commit-bot: I haz the power
4 years, 8 months ago (2016-04-24 11:41:33 UTC) #9
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/0231a7efa2b5ce8108a837284e2f63dccd5dcd09
Cr-Commit-Position: refs/heads/master@{#35743}

Powered by Google App Engine
This is Rietveld 408576698