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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/ssa/tracer.dart

Issue 14986002: Make static tear-off closures a class, like instance tear-off closures. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 7 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 | Annotate | Revision Log
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 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 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 } 347 }
348 348
349 String visitInvokeDynamicMethod(HInvokeDynamicMethod node) 349 String visitInvokeDynamicMethod(HInvokeDynamicMethod node)
350 => visitInvokeDynamic(node, "method"); 350 => visitInvokeDynamic(node, "method");
351 String visitInvokeDynamicGetter(HInvokeDynamicGetter node) 351 String visitInvokeDynamicGetter(HInvokeDynamicGetter node)
352 => visitInvokeDynamic(node, "get"); 352 => visitInvokeDynamic(node, "get");
353 String visitInvokeDynamicSetter(HInvokeDynamicSetter node) 353 String visitInvokeDynamicSetter(HInvokeDynamicSetter node)
354 => visitInvokeDynamic(node, "set"); 354 => visitInvokeDynamic(node, "set");
355 355
356 String visitInvokeStatic(HInvokeStatic invoke) { 356 String visitInvokeStatic(HInvokeStatic invoke) {
357 String target = temporaryId(invoke.target); 357 String target = invoke.element.name.slowToString();
358 int offset = HInvoke.ARGUMENTS_OFFSET; 358 int offset = HInvoke.ARGUMENTS_OFFSET;
359 List arguments = invoke.inputs.sublist(offset); 359 List arguments = invoke.inputs.sublist(offset);
360 return visitGenericInvoke("Invoke", target, arguments); 360 return visitGenericInvoke("Invoke", target, arguments);
361 } 361 }
362 362
363 String visitInvokeSuper(HInvokeSuper invoke) { 363 String visitInvokeSuper(HInvokeSuper invoke) {
364 String target = temporaryId(invoke.target); 364 String target = invoke.element.name.slowToString();
365 int offset = HInvoke.ARGUMENTS_OFFSET + 1; 365 int offset = HInvoke.ARGUMENTS_OFFSET + 1;
366 List arguments = invoke.inputs.sublist(offset); 366 List arguments = invoke.inputs.sublist(offset);
367 return visitGenericInvoke("Invoke super", target, arguments); 367 return visitGenericInvoke("Invoke super", target, arguments);
368 } 368 }
369 369
370 String visitForeign(HForeign foreign) { 370 String visitForeign(HForeign foreign) {
371 return visitGenericInvoke("Foreign", "${foreign.codeAst}", foreign.inputs); 371 return visitGenericInvoke("Foreign", "${foreign.codeAst}", foreign.inputs);
372 } 372 }
373 373
374 String visitForeignNew(HForeignNew node) { 374 String visitForeignNew(HForeignNew node) {
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 549
550 String visitTypeConversion(HTypeConversion node) { 550 String visitTypeConversion(HTypeConversion node) {
551 return "TypeConversion: ${temporaryId(node.checkedInput)} to " 551 return "TypeConversion: ${temporaryId(node.checkedInput)} to "
552 "${node.instructionType}"; 552 "${node.instructionType}";
553 } 553 }
554 554
555 String visitRangeConversion(HRangeConversion node) { 555 String visitRangeConversion(HRangeConversion node) {
556 return "RangeConversion: ${node.checkedInput}"; 556 return "RangeConversion: ${node.checkedInput}";
557 } 557 }
558 } 558 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698