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

Side by Side Diff: lib/compiler/implementation/ssa/closure.dart

Issue 10454049: Validate that all instructions dominate their inputs. And fix a bug where that did not happen. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 class ClosureFieldElement extends Element { 5 class ClosureFieldElement extends Element {
6 ClosureFieldElement(SourceString name, ClassElement enclosing) 6 ClosureFieldElement(SourceString name, ClassElement enclosing)
7 : super(name, ElementKind.FIELD, enclosing); 7 : super(name, ElementKind.FIELD, enclosing);
8 8
9 bool isInstanceMember() => true; 9 bool isInstanceMember() => true;
10 bool isAssignable() => false; 10 bool isAssignable() => false;
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 } 429 }
430 } 430 }
431 431
432 visitFunctionDeclaration(FunctionDeclaration node) { 432 visitFunctionDeclaration(FunctionDeclaration node) {
433 node.visitChildren(this); 433 node.visitChildren(this);
434 declareLocal(elements[node]); 434 declareLocal(elements[node]);
435 } 435 }
436 436
437 visitTryStatement(TryStatement node) { 437 visitTryStatement(TryStatement node) {
438 // TODO(ngeoffray): implement finer grain state. 438 // TODO(ngeoffray): implement finer grain state.
439 bool oldInTryCatchOrFinally = inTryCatchOrFinally;
Lasse Reichstein Nielsen 2012/05/30 09:35:14 Odd name. Could it be just "inTryStatement" since
ngeoffray 2012/05/30 10:19:07 Done.
439 inTryCatchOrFinally = true; 440 inTryCatchOrFinally = true;
440 node.visitChildren(this); 441 node.visitChildren(this);
441 inTryCatchOrFinally = false; 442 inTryCatchOrFinally = oldInTryCatchOrFinally;
442 } 443 }
443 } 444 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698