| 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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 return "Continue ${node.label.labelName}: (B${target.id})"; | 256 return "Continue ${node.label.labelName}: (B${target.id})"; |
| 257 } | 257 } |
| 258 return "Continue: (B${target.id})"; | 258 return "Continue: (B${target.id})"; |
| 259 } | 259 } |
| 260 | 260 |
| 261 String visitDivide(HDivide node) => handleInvokeBinary(node, '/'); | 261 String visitDivide(HDivide node) => handleInvokeBinary(node, '/'); |
| 262 | 262 |
| 263 String visitExit(HExit node) => "exit"; | 263 String visitExit(HExit node) => "exit"; |
| 264 | 264 |
| 265 String visitFieldGet(HFieldGet node) { | 265 String visitFieldGet(HFieldGet node) { |
| 266 if (node.isNullCheck) { |
| 267 return 'null check on ${temporaryId(node.receiver)}'; |
| 268 } |
| 266 String fieldName = node.element.name; | 269 String fieldName = node.element.name; |
| 267 return 'field get ${temporaryId(node.receiver)}.$fieldName'; | 270 return 'field get ${temporaryId(node.receiver)}.$fieldName'; |
| 268 } | 271 } |
| 269 | 272 |
| 270 String visitFieldSet(HFieldSet node) { | 273 String visitFieldSet(HFieldSet node) { |
| 271 String valueId = temporaryId(node.value); | 274 String valueId = temporaryId(node.value); |
| 272 String fieldName = node.element.name; | 275 String fieldName = node.element.name; |
| 273 return 'field set ${temporaryId(node.receiver)}.$fieldName to $valueId'; | 276 return 'field set ${temporaryId(node.receiver)}.$fieldName to $valueId'; |
| 274 } | 277 } |
| 275 | 278 |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 | 515 |
| 513 String visitTypeKnown(HTypeKnown node) { | 516 String visitTypeKnown(HTypeKnown node) { |
| 514 assert(node.inputs.length == 1); | 517 assert(node.inputs.length == 1); |
| 515 return "TypeKnown: ${temporaryId(node.checkedInput)} is ${node.knownType}"; | 518 return "TypeKnown: ${temporaryId(node.checkedInput)} is ${node.knownType}"; |
| 516 } | 519 } |
| 517 | 520 |
| 518 String visitRangeConversion(HRangeConversion node) { | 521 String visitRangeConversion(HRangeConversion node) { |
| 519 return "RangeConversion: ${node.checkedInput}"; | 522 return "RangeConversion: ${node.checkedInput}"; |
| 520 } | 523 } |
| 521 } | 524 } |
| OLD | NEW |