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

Issue 1901803002: [turbofan] Remove phase ordering problem in JSToNumber lowering. (Closed)

Created:
4 years, 8 months ago by Benedikt Meurer
Modified:
4 years, 8 months ago
Reviewers:
Jarin
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Remove phase ordering problem in JSToNumber lowering. Previously we had to run SimplifiedLowering, ChangeLowering and JSGenericLowering independently and exactly in this order to achieve great performance for the common case of JSToNumber (i.e. input is already a Smi or a HeapNumber). This phase ordering problem already causes trouble with not being able to run the generic lowering phase earlier, but also blocks proper plain primitive ToNumber optimizations. So this properly integrates JSToNumber into the truncation analysis and optimizes according to the truncation (either Word32 or Float64). R=jarin@chromium.org Committed: https://crrev.com/95f0d4ed39dfa2f09e216f07b3e7e9aacc95a3f4 Cr-Commit-Position: refs/heads/master@{#35643}

Patch Set 1 : We still need the bits of the MachineOperatorReducer. #

Patch Set 2 : Untank #

Total comments: 1

Patch Set 3 : Address comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+235 lines, -96 lines) Patch
M src/compiler/change-lowering.h View 1 2 2 chunks +2 lines, -1 line 0 comments Download
M src/compiler/change-lowering.cc View 1 2 5 chunks +9 lines, -83 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/simplified-lowering.h View 1 5 chunks +11 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 4 chunks +196 lines, -12 lines 0 comments Download
M src/compiler/simplified-operator.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/simplified-operator.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/typer.cc View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 2 1 chunk +9 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 10 (4 generated)
Benedikt Meurer
4 years, 8 months ago (2016-04-18 19:02:15 UTC) #1
Benedikt Meurer
Hey Jaro, Here's the general fix for JSToNumber, removing the need to run these lowerings ...
4 years, 8 months ago (2016-04-18 19:05:23 UTC) #2
Jarin
lgtm https://codereview.chromium.org/1901803002/diff/40001/src/compiler/simplified-operator.h File src/compiler/simplified-operator.h (right): https://codereview.chromium.org/1901803002/diff/40001/src/compiler/simplified-operator.h#newcode162 src/compiler/simplified-operator.h:162: const Operator* ChangeTaggedSignedToWord32(); Why not ChangeSmiToWord32?
4 years, 8 months ago (2016-04-20 05:38:49 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1901803002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1901803002/60001
4 years, 8 months ago (2016-04-20 05:40:32 UTC) #7
commit-bot: I haz the power
Committed patchset #3 (id:60001)
4 years, 8 months ago (2016-04-20 06:05:11 UTC) #8
nodir1
4 years, 8 months ago (2016-04-22 18:43:41 UTC) #10
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/95f0d4ed39dfa2f09e216f07b3e7e9aacc95a3f4
Cr-Commit-Position: refs/heads/master@{#35643}

Powered by Google App Engine
This is Rietveld 408576698