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

Issue 2558093005: [turbofan] Add and use bytecode loop assigment analysis (Closed)

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

Description

[turbofan] Add and use bytecode loop assigment analysis Adds assignment tracking to the bytecode analysis pass, and updates bytecode graph builder to only create LoopExitValues for assigned values. Review-Url: https://codereview.chromium.org/2558093005 Cr-Commit-Position: refs/heads/master@{#41719} Committed: https://chromium.googlesource.com/v8/v8/+/bcb38979f732f282f52876c3412b99bb48d02fcc

Patch Set 1 #

Patch Set 2 : Store parent loop and assignments together, to save a map lookup #

Patch Set 3 : Use assignment analysis in PrepareForLoop #

Total comments: 6

Patch Set 4 : Fix OSR check and address Jaro's comments. #

Total comments: 15

Patch Set 5 : Address Ross's comments #

Patch Set 6 : Fix build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+290 lines, -74 lines) Patch
M src/compiler/bytecode-analysis.h View 1 2 3 4 4 chunks +57 lines, -8 lines 0 comments Download
M src/compiler/bytecode-analysis.cc View 1 2 3 4 7 chunks +154 lines, -18 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 15 chunks +71 lines, -47 lines 0 comments Download
M src/interpreter/bytecode-array-accessor.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-accessor.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M test/unittests/compiler/bytecode-analysis-unittest.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 45 (30 generated)
Leszek Swirski
Hi Jaro and Ross, Could you take a look at this first-pass of bytecode loop ...
4 years ago (2016-12-08 18:06:51 UTC) #4
rmcilroy
High level comment before I look in more detail - the loop analysis phase is ...
4 years ago (2016-12-09 11:46:44 UTC) #11
Jarin
lgtm with nits. However, if it does not help anywhere, we should not add this. ...
4 years ago (2016-12-12 06:53:38 UTC) #17
Leszek Swirski
Thanks Jaro, I'm addressing Ross's comment, which has brought up some test breakages, and then ...
4 years ago (2016-12-12 10:01:42 UTC) #18
Jarin
On 2016/12/12 10:01:42, Leszek Swirski wrote: > Thanks Jaro, > > I'm addressing Ross's comment, ...
4 years ago (2016-12-12 13:11:49 UTC) #23
Michael Starzinger
https://codereview.chromium.org/2558093005/diff/40001/src/compiler/bytecode-graph-builder.cc File src/compiler/bytecode-graph-builder.cc (right): https://codereview.chromium.org/2558093005/diff/40001/src/compiler/bytecode-graph-builder.cc#newcode252 src/compiler/bytecode-graph-builder.cc:252: BytecodeGraphBuilder::Environment* BytecodeGraphBuilder::Environment::Copy() { On 2016/12/12 10:01:42, Leszek Swirski wrote: ...
4 years ago (2016-12-12 13:16:09 UTC) #24
Leszek Swirski
On 2016/12/12 13:11:49, Jarin wrote: > Oh, that is disappointing. The memory savings should be ...
4 years ago (2016-12-13 13:47:56 UTC) #25
Leszek Swirski
https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-graph-builder.cc File src/compiler/bytecode-graph-builder.cc (right): https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-graph-builder.cc#newcode1955 src/compiler/bytecode-graph-builder.cc:1955: if (!osr_ast_id_.IsNone() && osr_loop_offset_ == current_offset) { On 2016/12/12 ...
4 years ago (2016-12-13 13:52:34 UTC) #26
Michael Starzinger
https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-graph-builder.cc File src/compiler/bytecode-graph-builder.cc (right): https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-graph-builder.cc#newcode1955 src/compiler/bytecode-graph-builder.cc:1955: if (!osr_ast_id_.IsNone() && osr_loop_offset_ == current_offset) { On 2016/12/13 ...
4 years ago (2016-12-13 14:11:39 UTC) #27
rmcilroy
Looks like some nice potential potential perf wins :). A couple of comments and a ...
4 years ago (2016-12-14 10:27:55 UTC) #28
Leszek Swirski
Thanks Ross. Jaro, does your lgtm still hold? https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-analysis.cc File src/compiler/bytecode-analysis.cc (right): https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-analysis.cc#newcode279 src/compiler/bytecode-analysis.cc:279: } ...
4 years ago (2016-12-14 14:42:19 UTC) #35
Michael Starzinger
LGTM from my end. https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-analysis.cc File src/compiler/bytecode-analysis.cc (right): https://codereview.chromium.org/2558093005/diff/60001/src/compiler/bytecode-analysis.cc#newcode266 src/compiler/bytecode-analysis.cc:266: // bytecode ignoring the prefix. ...
4 years ago (2016-12-15 13:16:58 UTC) #38
Jarin
As discussed offline, lgtm from my end.
4 years ago (2016-12-15 13:21:20 UTC) #39
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/2558093005/100001
4 years ago (2016-12-15 13:22:40 UTC) #42
commit-bot: I haz the power
4 years ago (2016-12-15 13:24:24 UTC) #45
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://chromium.googlesource.com/v8/v8/+/bcb38979f732f282f52876c3412b99bb48d...

Powered by Google App Engine
This is Rietveld 408576698