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

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

Issue 13947004: dart2js: Allow 'throw' when inlining (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 library tracer; 5 library tracer;
6 6
7 import 'dart:async' show EventSink; 7 import 'dart:async' show EventSink;
8 8
9 import 'ssa.dart'; 9 import 'ssa.dart';
10 import '../js_backend/js_backend.dart'; 10 import '../js_backend/js_backend.dart';
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 } 472 }
473 buf.write("default: B"); 473 buf.write("default: B");
474 buf.write(node.block.successors.last.id); 474 buf.write(node.block.successors.last.id);
475 return buf.toString(); 475 return buf.toString();
476 } 476 }
477 477
478 String visitThis(HThis node) => "this"; 478 String visitThis(HThis node) => "this";
479 479
480 String visitThrow(HThrow node) => "Throw ${temporaryId(node.inputs[0])}"; 480 String visitThrow(HThrow node) => "Throw ${temporaryId(node.inputs[0])}";
481 481
482 String visitThrowExpression(HThrowExpression node) {
483 return "ThrowExpression ${temporaryId(node.inputs[0])}";
484 }
485
482 String visitExitTry(HExitTry node) { 486 String visitExitTry(HExitTry node) {
483 return "Exit try"; 487 return "Exit try";
484 } 488 }
485 489
486 String visitTry(HTry node) { 490 String visitTry(HTry node) {
487 List<HBasicBlock> successors = currentBlock.successors; 491 List<HBasicBlock> successors = currentBlock.successors;
488 String tryBlock = 'B${successors[0].id}'; 492 String tryBlock = 'B${successors[0].id}';
489 String catchBlock = 'none'; 493 String catchBlock = 'none';
490 if (node.catchBlock != null) { 494 if (node.catchBlock != null) {
491 catchBlock = 'B${successors[1].id}'; 495 catchBlock = 'B${successors[1].id}';
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 554
551 String visitTypeConversion(HTypeConversion node) { 555 String visitTypeConversion(HTypeConversion node) {
552 return "TypeConversion: ${temporaryId(node.checkedInput)} to " 556 return "TypeConversion: ${temporaryId(node.checkedInput)} to "
553 "${node.instructionType}"; 557 "${node.instructionType}";
554 } 558 }
555 559
556 String visitRangeConversion(HRangeConversion node) { 560 String visitRangeConversion(HRangeConversion node) {
557 return "RangeConversion: ${node.checkedInput}"; 561 return "RangeConversion: ${node.checkedInput}";
558 } 562 }
559 } 563 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698