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

Issue 2140673007: [turbofan] Introduce explicit loop exits markers. (Closed)

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

Description

[turbofan] Introduce explicit loop exits markers. This CL introduces explicit LoopExit control nodes at loop exits. We also attach explicit value renames (LoopExitMarker) and effect rename (LoopExitEffect) to each loop exit. This is in preparation to loop peeling, which will replace LoopExit, LoopExitMarker and LoopExitEffect with Merge, Phi and EffectPhi respectively. At the moment, we insert loop exit at every return, break, continue and locally caught throw. We do not yet handle uncaught throws (including error throws, such as ReferenceError). Committed: https://crrev.com/7a61bbcfd8b1bee2617b32e23a6bbf63cfbc00b3 Cr-Commit-Position: refs/heads/master@{#37769}

Patch Set 1 #

Patch Set 2 : Rebase #

Total comments: 8

Patch Set 3 : Address review comments #

Patch Set 4 : Fix #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+204 lines, -13 lines) Patch
M src/compiler/ast-graph-builder.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 2 3 7 chunks +43 lines, -12 lines 1 comment Download
M src/compiler/common-operator.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/common-operator.cc View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/control-builders.h View 3 chunks +7 lines, -1 line 0 comments Download
M src/compiler/control-builders.cc View 1 2 3 chunks +12 lines, -0 lines 0 comments Download
M src/compiler/dead-code-elimination.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/dead-code-elimination.cc View 1 2 4 chunks +26 lines, -0 lines 0 comments Download
M src/compiler/loop-peeling.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/loop-peeling.cc View 1 2 1 chunk +54 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 1 chunk +3 lines, -0 lines 1 comment Download
M src/compiler/pipeline.cc View 2 chunks +12 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/typer.cc View 1 2 1 chunk +12 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 2 1 chunk +18 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (18 generated)
Jarin
Could you take a look, please?
4 years, 5 months ago (2016-07-13 12:51:18 UTC) #6
Benedikt Meurer
LGTM from my side.
4 years, 5 months ago (2016-07-14 08:12:08 UTC) #10
Michael Starzinger
https://codereview.chromium.org/2140673007/diff/20001/src/compiler/ast-graph-builder.cc File src/compiler/ast-graph-builder.cc (right): https://codereview.chromium.org/2140673007/diff/20001/src/compiler/ast-graph-builder.cc#newcode4420 src/compiler/ast-graph-builder.cc:4420: void AstGraphBuilder::BuildLoopExit(Node* loop, BitVector* assigned_variables, As discussed offline: Since ...
4 years, 5 months ago (2016-07-14 12:13:36 UTC) #11
Jarin
https://codereview.chromium.org/2140673007/diff/20001/src/compiler/ast-graph-builder.cc File src/compiler/ast-graph-builder.cc (right): https://codereview.chromium.org/2140673007/diff/20001/src/compiler/ast-graph-builder.cc#newcode4420 src/compiler/ast-graph-builder.cc:4420: void AstGraphBuilder::BuildLoopExit(Node* loop, BitVector* assigned_variables, On 2016/07/14 12:13:36, Michael ...
4 years, 5 months ago (2016-07-14 12:51:34 UTC) #14
Michael Starzinger
LGTM. Thanks! https://codereview.chromium.org/2140673007/diff/60001/src/compiler/ast-graph-builder.cc File src/compiler/ast-graph-builder.cc (right): https://codereview.chromium.org/2140673007/diff/60001/src/compiler/ast-graph-builder.cc#newcode960 src/compiler/ast-graph-builder.cc:960: (*values())[i] = rename; nit: Why not just ...
4 years, 5 months ago (2016-07-14 13:09:40 UTC) #17
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/2140673007/60001
4 years, 5 months ago (2016-07-14 14:57:29 UTC) #22
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 5 months ago (2016-07-14 14:59:49 UTC) #24
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-14 14:59:55 UTC) #25
commit-bot: I haz the power
4 years, 5 months ago (2016-07-14 15:02:40 UTC) #27
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/7a61bbcfd8b1bee2617b32e23a6bbf63cfbc00b3
Cr-Commit-Position: refs/heads/master@{#37769}

Powered by Google App Engine
This is Rietveld 408576698