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

Issue 9668029: Fix a long-standing bug in the computation of the live environments for bailouts. When visiting a l… (Closed)

Created:
8 years, 9 months ago by ngeoffray
Modified:
8 years, 9 months ago
Reviewers:
floitsch
CC:
reviews_dartlang.org, ahe, kasperl, karlklose, Lasse Reichstein Nielsen
Visibility:
Public.

Description

Fix a long-standing bug in the computation of the live environments for bailouts. When visiting a loop, put a marker in the environment that will be updated when exiting the loop. Committed: https://code.google.com/p/dart/source/detail?r=5320

Patch Set 1 #

Patch Set 2 : #

Total comments: 6

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+114 lines, -46 lines) Patch
M frog/leg/emitter.dart View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M frog/leg/ssa/bailout.dart View 1 2 10 chunks +99 lines, -41 lines 0 comments Download
M frog/leg/ssa/nodes.dart View 1 2 2 chunks +3 lines, -1 line 0 comments Download
M frog/tests/leg_only/src/BailoutTest.dart View 1 2 2 chunks +12 lines, -0 lines 0 comments Download
M tests/corelib/corelib-leg.status View 1 2 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 4 (0 generated)
ngeoffray
8 years, 9 months ago (2012-03-09 22:16:45 UTC) #1
ngeoffray
PTAL, I updated the code as discussed.
8 years, 9 months ago (2012-03-12 10:43:24 UTC) #2
floitsch
LGTM. https://chromiumcodereview.appspot.com/9668029/diff/2001/frog/leg/ssa/bailout.dart File frog/leg/ssa/bailout.dart (right): https://chromiumcodereview.appspot.com/9668029/diff/2001/frog/leg/ssa/bailout.dart#newcode24 frog/leg/ssa/bailout.dart:24: Environment.forLoop(Environment other) forLoopBody https://chromiumcodereview.appspot.com/9668029/diff/2001/frog/leg/ssa/bailout.dart#newcode124 frog/leg/ssa/bailout.dart:124: if (block.isLoopHeader()) { ...
8 years, 9 months ago (2012-03-12 11:35:10 UTC) #3
ngeoffray
8 years, 9 months ago (2012-03-12 11:53:24 UTC) #4
Thanks Florian

https://chromiumcodereview.appspot.com/9668029/diff/2001/frog/leg/ssa/bailout...
File frog/leg/ssa/bailout.dart (right):

https://chromiumcodereview.appspot.com/9668029/diff/2001/frog/leg/ssa/bailout...
frog/leg/ssa/bailout.dart:24: Environment.forLoop(Environment other)
On 2012/03/12 11:35:10, floitsch wrote:
> forLoopBody

Done.

https://chromiumcodereview.appspot.com/9668029/diff/2001/frog/leg/ssa/bailout...
frog/leg/ssa/bailout.dart:124: if (block.isLoopHeader()) {
On 2012/03/12 11:35:10, floitsch wrote:
> Add a comment, maybe even with an example.

Done.

https://chromiumcodereview.appspot.com/9668029/diff/2001/frog/leg/ssa/bailout...
frog/leg/ssa/bailout.dart:244: // with the loop marker.
On 2012/03/12 11:35:10, floitsch wrote:
> However we need the current environment to transfer already existing loop
> markers.

Done.

Powered by Google App Engine
This is Rietveld 408576698