OLD | NEW |
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 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 } | 471 } |
472 | 472 |
473 String visitThis(HThis node) => "this"; | 473 String visitThis(HThis node) => "this"; |
474 | 474 |
475 String visitThrow(HThrow node) => "Throw ${temporaryId(node.inputs[0])}"; | 475 String visitThrow(HThrow node) => "Throw ${temporaryId(node.inputs[0])}"; |
476 | 476 |
477 String visitThrowExpression(HThrowExpression node) { | 477 String visitThrowExpression(HThrowExpression node) { |
478 return "ThrowExpression ${temporaryId(node.inputs[0])}"; | 478 return "ThrowExpression ${temporaryId(node.inputs[0])}"; |
479 } | 479 } |
480 | 480 |
| 481 String visitTruncatingDivide(HTruncatingDivide node) { |
| 482 return handleInvokeBinary(node, '~/'); |
| 483 } |
| 484 |
481 String visitExitTry(HExitTry node) { | 485 String visitExitTry(HExitTry node) { |
482 return "Exit try"; | 486 return "Exit try"; |
483 } | 487 } |
484 | 488 |
485 String visitTry(HTry node) { | 489 String visitTry(HTry node) { |
486 List<HBasicBlock> successors = currentBlock.successors; | 490 List<HBasicBlock> successors = currentBlock.successors; |
487 String tryBlock = 'B${successors[0].id}'; | 491 String tryBlock = 'B${successors[0].id}'; |
488 String catchBlock = 'none'; | 492 String catchBlock = 'none'; |
489 if (node.catchBlock != null) { | 493 if (node.catchBlock != null) { |
490 catchBlock = 'B${successors[1].id}'; | 494 catchBlock = 'B${successors[1].id}'; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 } | 539 } |
536 | 540 |
537 String visitInterfaceType(HInterfaceType node) { | 541 String visitInterfaceType(HInterfaceType node) { |
538 return "InterfaceType: ${node.dartType}"; | 542 return "InterfaceType: ${node.dartType}"; |
539 } | 543 } |
540 | 544 |
541 String visitDynamicType(HDynamicType node) { | 545 String visitDynamicType(HDynamicType node) { |
542 return "DynamicType"; | 546 return "DynamicType"; |
543 } | 547 } |
544 } | 548 } |
OLD | NEW |