| 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 ssa.tracer; | 5 library ssa.tracer; |
| 6 | 6 |
| 7 import '../../compiler_new.dart' show OutputSink; | 7 import '../../compiler_new.dart' show OutputSink; |
| 8 import '../diagnostics/invariant.dart' show DEBUG_MODE; | 8 import '../diagnostics/invariant.dart' show DEBUG_MODE; |
| 9 import '../js_backend/namer.dart' show Namer; | 9 import '../js_backend/namer.dart' show Namer; |
| 10 import '../tracer.dart'; | 10 import '../tracer.dart'; |
| (...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 } | 486 } |
| 487 | 487 |
| 488 String visitIsViaInterceptor(HIsViaInterceptor node) { | 488 String visitIsViaInterceptor(HIsViaInterceptor node) { |
| 489 String type = node.typeExpression.toString(); | 489 String type = node.typeExpression.toString(); |
| 490 return "IsViaInterceptor: ${temporaryId(node.inputs[0])} is $type"; | 490 return "IsViaInterceptor: ${temporaryId(node.inputs[0])} is $type"; |
| 491 } | 491 } |
| 492 | 492 |
| 493 String visitTypeConversion(HTypeConversion node) { | 493 String visitTypeConversion(HTypeConversion node) { |
| 494 String checkedInput = temporaryId(node.checkedInput); | 494 String checkedInput = temporaryId(node.checkedInput); |
| 495 String rest; | 495 String rest; |
| 496 if (node.usesMethodOnType) { | 496 if (node.inputs.length == 2) { |
| 497 assert(node.inputs.length == 2); | |
| 498 assert(identical(node.checkedInput, node.inputs.last)); | |
| 499 rest = " ${temporaryId(node.inputs.first)}"; | |
| 500 } else if (node.inputs.length == 2) { | |
| 501 rest = " ${temporaryId(node.inputs.last)}"; | 497 rest = " ${temporaryId(node.inputs.last)}"; |
| 502 } else { | 498 } else { |
| 503 assert(node.inputs.length == 1); | 499 assert(node.inputs.length == 1); |
| 504 rest = ""; | 500 rest = ""; |
| 505 } | 501 } |
| 506 return "TypeConversion: $checkedInput to ${node.instructionType}$rest"; | 502 return "TypeConversion: $checkedInput to ${node.instructionType}$rest"; |
| 507 } | 503 } |
| 508 | 504 |
| 509 String visitTypeKnown(HTypeKnown node) { | 505 String visitTypeKnown(HTypeKnown node) { |
| 510 assert(node.inputs.length <= 2); | 506 assert(node.inputs.length <= 2); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 529 return "TypeInfoReadVariable: " | 525 return "TypeInfoReadVariable: " |
| 530 "${temporaryId(node.inputs.single)}.${node.variable}"; | 526 "${temporaryId(node.inputs.single)}.${node.variable}"; |
| 531 } | 527 } |
| 532 | 528 |
| 533 String visitTypeInfoExpression(HTypeInfoExpression node) { | 529 String visitTypeInfoExpression(HTypeInfoExpression node) { |
| 534 var inputs = node.inputs.map(temporaryId).join(', '); | 530 var inputs = node.inputs.map(temporaryId).join(', '); |
| 535 return "TypeInfoExpression: ${node.kindAsString} ${node.dartType}" | 531 return "TypeInfoExpression: ${node.kindAsString} ${node.dartType}" |
| 536 " ($inputs)"; | 532 " ($inputs)"; |
| 537 } | 533 } |
| 538 | 534 |
| 539 String visitReadTypeVariable(HReadTypeVariable node) { | |
| 540 var inputs = node.inputs.map(temporaryId).join(', '); | |
| 541 return "ReadTypeVariable: ${node.dartType} ${node.hasReceiver} $inputs"; | |
| 542 } | |
| 543 | |
| 544 String visitFunctionType(HFunctionType node) { | |
| 545 var inputs = node.inputs.map(temporaryId).join(', '); | |
| 546 return "FunctionType: ${node.dartType} $inputs"; | |
| 547 } | |
| 548 | |
| 549 String visitVoidType(HVoidType node) { | |
| 550 return "VoidType"; | |
| 551 } | |
| 552 | |
| 553 String visitInterfaceType(HInterfaceType node) { | |
| 554 return "InterfaceType: ${node.dartType}"; | |
| 555 } | |
| 556 | |
| 557 String visitDynamicType(HDynamicType node) { | |
| 558 return "DynamicType"; | |
| 559 } | |
| 560 | |
| 561 String visitAwait(HAwait node) { | 535 String visitAwait(HAwait node) { |
| 562 return "Await: ${temporaryId(node.inputs[0])}"; | 536 return "Await: ${temporaryId(node.inputs[0])}"; |
| 563 } | 537 } |
| 564 | 538 |
| 565 String visitYield(HYield node) { | 539 String visitYield(HYield node) { |
| 566 return "Yield${node.hasStar ? "*" : ""}: ${temporaryId(node.inputs[0])}"; | 540 return "Yield${node.hasStar ? "*" : ""}: ${temporaryId(node.inputs[0])}"; |
| 567 } | 541 } |
| 568 } | 542 } |
| OLD | NEW |