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

Side by Side Diff: pkg/compiler/lib/src/ssa/ssa_tracer.dart

Issue 2711783006: Remove HRuntimeType scheme for function types. (Closed)
Patch Set: fix mock library Created 3 years, 9 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
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 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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698