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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/ssa/bailout.dart

Issue 12513006: Fix warnings in dart2js code and re-enable analyzer coverage. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comments. Created 7 years, 9 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 part of ssa; 5 part of ssa;
6 6
7 class BailoutInfo { 7 class BailoutInfo {
8 int instructionId; 8 int instructionId;
9 int bailoutId; 9 int bailoutId;
10 BailoutInfo(this.instructionId, this.bailoutId); 10 BailoutInfo(this.instructionId, this.bailoutId);
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 if (body is HLabeledBlockInformation) { 495 if (body is HLabeledBlockInformation) {
496 currentBlockInformation = body; 496 currentBlockInformation = body;
497 HLabeledBlockInformation info = body; 497 HLabeledBlockInformation info = body;
498 visitStatements(info.body, newFlow: true); 498 visitStatements(info.body, newFlow: true);
499 } else if (body is HLoopBlockInformation) { 499 } else if (body is HLoopBlockInformation) {
500 currentBlockInformation = body; 500 currentBlockInformation = body;
501 HLoopBlockInformation info = body; 501 HLoopBlockInformation info = body;
502 if (info.initializer != null) { 502 if (info.initializer != null) {
503 visitExpression(info.initializer); 503 visitExpression(info.initializer);
504 } 504 }
505 blocks.addLast(info.loopHeader); 505 blocks.add(info.loopHeader);
506 if (!info.isDoWhile()) { 506 if (!info.isDoWhile()) {
507 visitExpression(info.condition); 507 visitExpression(info.condition);
508 } 508 }
509 visitStatements(info.body, newFlow: false); 509 visitStatements(info.body, newFlow: false);
510 if (info.isDoWhile()) { 510 if (info.isDoWhile()) {
511 visitExpression(info.condition); 511 visitExpression(info.condition);
512 } 512 }
513 if (info.updates != null) { 513 if (info.updates != null) {
514 visitExpression(info.updates); 514 visitExpression(info.updates);
515 } 515 }
(...skipping 29 matching lines...) Expand all
545 void visitExpression(HSubExpressionBlockInformation info) { 545 void visitExpression(HSubExpressionBlockInformation info) {
546 visitSubGraph(info.subExpression); 546 visitSubGraph(info.subExpression);
547 } 547 }
548 548
549 /** 549 /**
550 * Visit the statements in [info]. If [newFlow] is true, we add the 550 * Visit the statements in [info]. If [newFlow] is true, we add the
551 * first block of [statements] to the list of [blocks]. 551 * first block of [statements] to the list of [blocks].
552 */ 552 */
553 void visitStatements(HSubGraphBlockInformation info, {bool newFlow}) { 553 void visitStatements(HSubGraphBlockInformation info, {bool newFlow}) {
554 SubGraph graph = info.subGraph; 554 SubGraph graph = info.subGraph;
555 if (newFlow) blocks.addLast(graph.start); 555 if (newFlow) blocks.add(graph.start);
556 visitSubGraph(graph); 556 visitSubGraph(graph);
557 if (newFlow) blocks.removeLast(); 557 if (newFlow) blocks.removeLast();
558 } 558 }
559 559
560 void visitSubGraph(SubGraph graph) { 560 void visitSubGraph(SubGraph graph) {
561 SubGraph oldSubGraph = subGraph; 561 SubGraph oldSubGraph = subGraph;
562 subGraph = graph; 562 subGraph = graph;
563 visitBasicBlock(graph.start); 563 visitBasicBlock(graph.start);
564 subGraph = oldSubGraph; 564 subGraph = oldSubGraph;
565 } 565 }
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 hasComplexBailoutTargets = true; 625 hasComplexBailoutTargets = true;
626 } 626 }
627 } else { 627 } else {
628 hasComplexBailoutTargets = true; 628 hasComplexBailoutTargets = true;
629 blocks.forEach((HBasicBlock block) { 629 blocks.forEach((HBasicBlock block) {
630 block.bailoutTargets.add(target); 630 block.bailoutTargets.add(target);
631 }); 631 });
632 } 632 }
633 } 633 }
634 } 634 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698