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

Issue 2509623002: [turbofan] Sparse representation for state values (Closed)

Created:
4 years, 1 month ago by Leszek Swirski
Modified:
3 years, 11 months ago
CC:
v8-reviews_googlegroups.com, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Sparse representation for state values Add a more efficient encoding for state values that have a large number of optimized-out inputs. Review-Url: https://codereview.chromium.org/2509623002 Cr-Commit-Position: refs/heads/master@{#42088} Committed: https://chromium.googlesource.com/v8/v8/+/68f1a37f8e34e26963f768a8c6129dde9a02c2ad

Patch Set 1 #

Patch Set 2 : Remove the optimized_out input entirely, return nullptr when iterating #

Total comments: 10

Patch Set 3 : Fix MachineTypeOf #

Patch Set 4 : Pipe liveness vector into state value cache #

Patch Set 5 : Rebase and use the new PushOptimizedOut #

Patch Set 6 : Add missing operator declarations #

Total comments: 36

Patch Set 7 : Large reformatting, addressing Jaro's comments #

Total comments: 6

Patch Set 8 : Renaming and changing refs to pointers #

Unified diffs Side-by-side diffs Delta from patch set Stats (+715 lines, -238 lines) Patch
M src/compiler/ast-graph-builder.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 6 7 7 chunks +18 lines, -41 lines 0 comments Download
M src/compiler/common-operator.h View 1 2 3 4 5 6 7 4 chunks +123 lines, -2 lines 0 comments Download
M src/compiler/common-operator.cc View 1 2 3 4 5 6 5 chunks +151 lines, -21 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/js-create-lowering.cc View 1 2 3 4 5 6 3 chunks +7 lines, -4 lines 0 comments Download
M src/compiler/js-graph.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/js-inlining.cc View 1 2 3 4 5 6 2 chunks +4 lines, -4 lines 0 comments Download
M src/compiler/js-native-context-specialization.cc View 1 2 3 4 5 6 2 chunks +4 lines, -2 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 3 4 5 6 1 chunk +3 lines, -2 lines 0 comments Download
M src/compiler/state-values-utils.h View 1 2 3 4 5 6 7 5 chunks +30 lines, -19 lines 0 comments Download
M src/compiler/state-values-utils.cc View 1 2 3 4 5 6 7 8 chunks +222 lines, -101 lines 0 comments Download
M test/cctest/compiler/test-js-typed-lowering.cc View 1 2 3 4 5 6 1 chunk +6 lines, -3 lines 0 comments Download
M test/unittests/compiler/escape-analysis-unittest.cc View 1 2 3 4 5 6 2 chunks +12 lines, -6 lines 0 comments Download
M test/unittests/compiler/graph-unittest.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M test/unittests/compiler/instruction-selector-unittest.cc View 1 2 3 4 5 6 3 chunks +34 lines, -22 lines 0 comments Download
M test/unittests/compiler/js-create-lowering-unittest.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M test/unittests/compiler/liveness-analyzer-unittest.cc View 1 2 3 4 5 6 2 chunks +4 lines, -2 lines 0 comments Download
M test/unittests/compiler/state-values-utils-unittest.cc View 1 2 3 4 5 6 5 chunks +85 lines, -5 lines 0 comments Download

Messages

Total messages: 42 (26 generated)
Leszek Swirski
Hey Jaro and Benedikt, This is my WIP for the state value sparse encoding, let ...
4 years, 1 month ago (2016-11-16 09:29:50 UTC) #2
Jarin
Overall, this feels really hacky - is there any measurable improvement? https://codereview.chromium.org/2509623002/diff/20001/src/compiler/common-operator.cc File src/compiler/common-operator.cc (right): ...
4 years, 1 month ago (2016-11-16 15:32:43 UTC) #7
Leszek Swirski
Comments commented upon. Sadly, this doesn't actually seem to have a performance improvement, and in ...
4 years, 1 month ago (2016-11-17 09:23:05 UTC) #9
Leszek Swirski
Ping for another review (now that there are performance improvements).
4 years ago (2016-12-06 09:42:32 UTC) #18
Jarin
On 2016/12/06 09:42:32, Leszek Swirski wrote: > Ping for another review (now that there are ...
4 years ago (2016-12-06 10:35:16 UTC) #19
Leszek Swirski
On 2016/12/06 10:35:16, Jarin wrote: > On 2016/12/06 09:42:32, Leszek Swirski wrote: > > Ping ...
4 years ago (2016-12-06 10:58:35 UTC) #20
Jarin
First batch of comments. (src/compiler/state-values-utils.* will be done separately.) https://codereview.chromium.org/2509623002/diff/100001/src/compiler/common-operator.cc File src/compiler/common-operator.cc (right): https://codereview.chromium.org/2509623002/diff/100001/src/compiler/common-operator.cc#newcode189 src/compiler/common-operator.cc:189: ...
4 years ago (2016-12-07 08:56:20 UTC) #21
Jarin (Google)
https://codereview.chromium.org/2509623002/diff/100001/src/compiler/state-values-utils.cc File src/compiler/state-values-utils.cc (right): https://codereview.chromium.org/2509623002/diff/100001/src/compiler/state-values-utils.cc#newcode22 src/compiler/state-values-utils.cc:22: // whether live or dead (and is not representative ...
4 years ago (2016-12-07 15:16:44 UTC) #23
Jarin
https://codereview.chromium.org/2509623002/diff/100001/src/compiler/state-values-utils.cc File src/compiler/state-values-utils.cc (right): https://codereview.chromium.org/2509623002/diff/100001/src/compiler/state-values-utils.cc#newcode15 src/compiler/state-values-utils.cc:15: // sparse; otherwise, they should be interpreted as follows: ...
4 years ago (2016-12-08 07:59:43 UTC) #24
Leszek Swirski
Comments addressed (some answered inline), please take another look. https://codereview.chromium.org/2509623002/diff/100001/src/compiler/common-operator.cc File src/compiler/common-operator.cc (right): https://codereview.chromium.org/2509623002/diff/100001/src/compiler/common-operator.cc#newcode189 src/compiler/common-operator.cc:189: ...
4 years ago (2016-12-08 15:44:31 UTC) #27
Jarin
https://codereview.chromium.org/2509623002/diff/120001/src/compiler/common-operator.h File src/compiler/common-operator.h (right): https://codereview.chromium.org/2509623002/diff/120001/src/compiler/common-operator.h#newcode178 src/compiler/common-operator.h:178: // So, for N 1s in the bitmask, there ...
4 years ago (2016-12-10 10:15:06 UTC) #30
Leszek Swirski
https://codereview.chromium.org/2509623002/diff/120001/src/compiler/common-operator.h File src/compiler/common-operator.h (right): https://codereview.chromium.org/2509623002/diff/120001/src/compiler/common-operator.h#newcode178 src/compiler/common-operator.h:178: // So, for N 1s in the bitmask, there ...
4 years ago (2016-12-13 14:35:16 UTC) #33
Leszek Swirski
Ping for review
3 years, 11 months ago (2017-01-04 10:02:14 UTC) #36
Jarin
lgtm
3 years, 11 months ago (2017-01-05 09:02:53 UTC) #37
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/2509623002/140001
3 years, 11 months ago (2017-01-05 10:10:58 UTC) #39
commit-bot: I haz the power
3 years, 11 months ago (2017-01-05 10:44:51 UTC) #42
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/v8/v8/+/68f1a37f8e34e26963f768a8c6129dde9a0...

Powered by Google App Engine
This is Rietveld 408576698