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

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

Issue 11194025: Second round of cleanups for new optional parameter semantics. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 2 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 Interceptors { 5 class Interceptors {
6 Compiler compiler; 6 Compiler compiler;
7 Interceptors(Compiler this.compiler); 7 Interceptors(Compiler this.compiler);
8 8
9 SourceString mapOperatorToMethodName(Operator op) { 9 SourceString mapOperatorToMethodName(Operator op) {
10 String name = op.source.stringValue; 10 String name = op.source.stringValue;
(...skipping 3428 matching lines...) Expand 10 before | Expand all | Expand 10 after
3439 variable = elements[node.declaredIdentifier]; 3439 variable = elements[node.declaredIdentifier];
3440 } else { 3440 } else {
3441 assert(node.declaredIdentifier.asVariableDefinitions() != null); 3441 assert(node.declaredIdentifier.asVariableDefinitions() != null);
3442 VariableDefinitions variableDefinitions = node.declaredIdentifier; 3442 VariableDefinitions variableDefinitions = node.declaredIdentifier;
3443 variable = elements[variableDefinitions.definitions.nodes.head]; 3443 variable = elements[variableDefinitions.definitions.nodes.head];
3444 } 3444 }
3445 HInstruction oldVariable = pop(); 3445 HInstruction oldVariable = pop();
3446 if (variable.isErroneous()) { 3446 if (variable.isErroneous()) {
3447 generateThrowNoSuchMethod(node, 3447 generateThrowNoSuchMethod(node,
3448 getTargetName(variable, 'set'), 3448 getTargetName(variable, 'set'),
3449 argumentValues: <HInstruction>[oldVariable]); 3449 <HInstruction>[oldVariable]);
ahe 2012/10/22 12:44:17 This is the cause of the crash.
3450 pop(); 3450 pop();
3451 } else { 3451 } else {
3452 localsHandler.updateLocal(variable, oldVariable); 3452 localsHandler.updateLocal(variable, oldVariable);
3453 } 3453 }
3454 3454
3455 visit(node.body); 3455 visit(node.body);
3456 } 3456 }
3457 handleLoop(node, buildInitializer, buildCondition, () {}, buildBody); 3457 handleLoop(node, buildInitializer, buildCondition, () {}, buildBody);
3458 } 3458 }
3459 3459
(...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after
4482 new HSubGraphBlockInformation(elseBranch.graph)); 4482 new HSubGraphBlockInformation(elseBranch.graph));
4483 4483
4484 HBasicBlock conditionStartBlock = conditionBranch.block; 4484 HBasicBlock conditionStartBlock = conditionBranch.block;
4485 conditionStartBlock.setBlockFlow(info, joinBlock); 4485 conditionStartBlock.setBlockFlow(info, joinBlock);
4486 SubGraph conditionGraph = conditionBranch.graph; 4486 SubGraph conditionGraph = conditionBranch.graph;
4487 HIf branch = conditionGraph.end.last; 4487 HIf branch = conditionGraph.end.last;
4488 assert(branch is HIf); 4488 assert(branch is HIf);
4489 branch.blockInformation = conditionStartBlock.blockFlow; 4489 branch.blockInformation = conditionStartBlock.blockFlow;
4490 } 4490 }
4491 } 4491 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698