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

Issue 12082054: Fix crash in compiler when we are generating a bailout method where a loop contains continue/break/… (Closed)

Created:
7 years, 10 months ago by ngeoffray
Modified:
7 years, 10 months ago
Reviewers:
kasperl
CC:
reviews_dartlang.org, erikcorry, Lasse Reichstein Nielsen
Visibility:
Public.

Description

Fix crash in compiler when we are generating a bailout method where a loop contains continue/break/return. Committed: https://code.google.com/p/dart/source/detail?r=17828

Patch Set 1 : #

Total comments: 4

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+109 lines, -84 lines) Patch
M sdk/lib/_internal/compiler/implementation/ssa/builder.dart View 1 1 chunk +1 line, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/codegen.dart View 1 8 chunks +49 lines, -82 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/nodes.dart View 1 1 chunk +4 lines, -1 line 0 comments Download
A tests/language/bailout5_test.dart View 1 chunk +55 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
ngeoffray
7 years, 10 months ago (2013-01-29 17:50:44 UTC) #1
kasperl
LGTM. https://codereview.chromium.org/12082054/diff/2001/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart File sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (right): https://codereview.chromium.org/12082054/diff/2001/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart#newcode2748 sdk/lib/_internal/compiler/implementation/ssa/codegen.dart:2748: } else if (node.block == subGraph.end) { Share ...
7 years, 10 months ago (2013-01-29 18:35:04 UTC) #2
ngeoffray
7 years, 10 months ago (2013-01-30 09:58:53 UTC) #3
Thanks Kasper.

https://codereview.chromium.org/12082054/diff/2001/sdk/lib/_internal/compiler...
File sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (right):

https://codereview.chromium.org/12082054/diff/2001/sdk/lib/_internal/compiler...
sdk/lib/_internal/compiler/implementation/ssa/codegen.dart:2748: } else if
(node.block == subGraph.end) {
On 2013/01/29 18:35:04, kasperl wrote:
> Share this code with the equivalent code above? 

Actually I was able to cleanup both visitLoopBranch methods, so this method can
call super.visitLoopBranch directly if the loop body does not have any bailouts.

https://codereview.chromium.org/12082054/diff/2001/sdk/lib/_internal/compiler...
sdk/lib/_internal/compiler/implementation/ssa/codegen.dart:2750: // of a
SubGraph traversal, the
On 2013/01/29 18:35:04, kasperl wrote:
> Reflow comment. SubGraph -> subgraph?

Done.

Powered by Google App Engine
This is Rietveld 408576698