| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 dart2js.ir_tracer; | 5 library dart2js.ir_tracer; |
| 6 | 6 |
| 7 import 'dart:async' show EventSink; | 7 import 'dart:async' show EventSink; |
| 8 import 'cps_ir_nodes.dart' as cps_ir; | 8 import 'cps_ir_nodes.dart' as cps_ir; |
| 9 import '../tracer.dart'; | 9 import '../tracer.dart'; |
| 10 | 10 |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 visitSetField(cps_ir.SetField node) { | 262 visitSetField(cps_ir.SetField node) { |
| 263 String object = formatReference(node.object); | 263 String object = formatReference(node.object); |
| 264 String field = node.field.name; | 264 String field = node.field.name; |
| 265 String value = formatReference(node.value); | 265 String value = formatReference(node.value); |
| 266 return 'SetField $object.$field = $value'; | 266 return 'SetField $object.$field = $value'; |
| 267 } | 267 } |
| 268 | 268 |
| 269 visitGetField(cps_ir.GetField node) { | 269 visitGetField(cps_ir.GetField node) { |
| 270 String object = formatReference(node.object); | 270 String object = formatReference(node.object); |
| 271 String field = node.field.name; | 271 String field = node.field.name; |
| 272 String finalFlag = node.isFinal ? 'final' : 'non-final'; | 272 return 'GetField($object.$field)'; |
| 273 return 'GetField $object.$field $finalFlag'; | |
| 274 } | 273 } |
| 275 | 274 |
| 276 visitGetStatic(cps_ir.GetStatic node) { | 275 visitGetStatic(cps_ir.GetStatic node) { |
| 277 String element = node.element.name; | 276 String element = node.element.name; |
| 278 String finalFlag = node.isFinal ? 'final' : 'non-final'; | 277 return 'GetStatic($element)'; |
| 279 return 'GetStatic $element $finalFlag'; | |
| 280 } | 278 } |
| 281 | 279 |
| 282 visitSetStatic(cps_ir.SetStatic node) { | 280 visitSetStatic(cps_ir.SetStatic node) { |
| 283 String element = node.element.name; | 281 String element = node.element.name; |
| 284 String value = formatReference(node.value); | 282 String value = formatReference(node.value); |
| 285 return 'SetStatic $element = $value'; | 283 return 'SetStatic $element = $value'; |
| 286 } | 284 } |
| 287 | 285 |
| 288 visitGetLazyStatic(cps_ir.GetLazyStatic node) { | 286 visitGetLazyStatic(cps_ir.GetLazyStatic node) { |
| 289 String element = node.element.name; | 287 String element = node.element.name; |
| 290 String finalFlag = node.isFinal ? 'final' : 'non-final'; | 288 return "GetLazyStatic $element"; |
| 291 return "GetLazyStatic $element $finalFlag"; | |
| 292 } | 289 } |
| 293 | 290 |
| 294 visitCreateBox(cps_ir.CreateBox node) { | 291 visitCreateBox(cps_ir.CreateBox node) { |
| 295 return 'CreateBox'; | 292 return 'CreateBox'; |
| 296 } | 293 } |
| 297 | 294 |
| 298 visitCreateInstance(cps_ir.CreateInstance node) { | 295 visitCreateInstance(cps_ir.CreateInstance node) { |
| 299 String className = node.classElement.name; | 296 String className = node.classElement.name; |
| 300 String arguments = node.arguments.map(formatReference).join(', '); | 297 String arguments = node.arguments.map(formatReference).join(', '); |
| 301 String typeInformation = formatReference(node.typeInformation); | 298 String typeInformation = formatReference(node.typeInformation); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 | 354 |
| 358 visitForeignCode(cps_ir.ForeignCode node) { | 355 visitForeignCode(cps_ir.ForeignCode node) { |
| 359 String id = names.name(node); | 356 String id = names.name(node); |
| 360 String arguments = node.arguments.map(formatReference).join(', '); | 357 String arguments = node.arguments.map(formatReference).join(', '); |
| 361 printStmt(id, | 358 printStmt(id, |
| 362 "ForeignCode ${node.type} ${node.codeTemplate.source} $arguments"); | 359 "ForeignCode ${node.type} ${node.codeTemplate.source} $arguments"); |
| 363 } | 360 } |
| 364 | 361 |
| 365 visitGetLength(cps_ir.GetLength node) { | 362 visitGetLength(cps_ir.GetLength node) { |
| 366 String object = formatReference(node.object); | 363 String object = formatReference(node.object); |
| 367 String finalFlag = node.isFinal ? 'final' : 'non-final'; | 364 return 'GetLength $object'; |
| 368 return 'GetLength $object $finalFlag'; | |
| 369 } | 365 } |
| 370 | 366 |
| 371 visitGetIndex(cps_ir.GetIndex node) { | 367 visitGetIndex(cps_ir.GetIndex node) { |
| 372 String object = formatReference(node.object); | 368 String object = formatReference(node.object); |
| 373 String index = formatReference(node.index); | 369 String index = formatReference(node.index); |
| 374 return 'GetIndex $object $index'; | 370 return 'GetIndex $object $index'; |
| 375 } | 371 } |
| 376 | 372 |
| 377 visitSetIndex(cps_ir.SetIndex node) { | 373 visitSetIndex(cps_ir.SetIndex node) { |
| 378 String object = formatReference(node.object); | 374 String object = formatReference(node.object); |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 } | 679 } |
| 684 | 680 |
| 685 visitBoundsCheck(cps_ir.BoundsCheck node) { | 681 visitBoundsCheck(cps_ir.BoundsCheck node) { |
| 686 unexpectedNode(node); | 682 unexpectedNode(node); |
| 687 } | 683 } |
| 688 | 684 |
| 689 visitReceiverCheck(cps_ir.ReceiverCheck node) { | 685 visitReceiverCheck(cps_ir.ReceiverCheck node) { |
| 690 unexpectedNode(node); | 686 unexpectedNode(node); |
| 691 } | 687 } |
| 692 } | 688 } |
| OLD | NEW |