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

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

Issue 2561533002: dart2js: Constant folding and specialization for remainder (Closed)
Patch Set: fix range analysis Created 4 years 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 'dart:async' show EventSink; 7 import 'dart:async' show EventSink;
8 8
9 import '../compiler.dart' show Compiler; 9 import '../compiler.dart' show Compiler;
10 import '../diagnostics/invariant.dart' show DEBUG_MODE; 10 import '../diagnostics/invariant.dart' show DEBUG_MODE;
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 String visitThrow(HThrow node) => "Throw: ${temporaryId(node.inputs[0])}"; 445 String visitThrow(HThrow node) => "Throw: ${temporaryId(node.inputs[0])}";
446 446
447 String visitThrowExpression(HThrowExpression node) { 447 String visitThrowExpression(HThrowExpression node) {
448 return "ThrowExpression: ${temporaryId(node.inputs[0])}"; 448 return "ThrowExpression: ${temporaryId(node.inputs[0])}";
449 } 449 }
450 450
451 String visitTruncatingDivide(HTruncatingDivide node) { 451 String visitTruncatingDivide(HTruncatingDivide node) {
452 return handleInvokeBinary(node, 'TruncatingDivide'); 452 return handleInvokeBinary(node, 'TruncatingDivide');
453 } 453 }
454 454
455 String visitRemainder(HRemainder node) {
456 return handleInvokeBinary(node, 'Remainder');
457 }
458
455 String visitExitTry(HExitTry node) { 459 String visitExitTry(HExitTry node) {
456 return "ExitTry"; 460 return "ExitTry";
457 } 461 }
458 462
459 String visitTry(HTry node) { 463 String visitTry(HTry node) {
460 List<HBasicBlock> successors = currentBlock.successors; 464 List<HBasicBlock> successors = currentBlock.successors;
461 String tryBlock = 'B${successors[0].id}'; 465 String tryBlock = 'B${successors[0].id}';
462 String catchBlock = 'none'; 466 String catchBlock = 'none';
463 if (node.catchBlock != null) { 467 if (node.catchBlock != null) {
464 catchBlock = 'B${successors[1].id}'; 468 catchBlock = 'B${successors[1].id}';
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 } 556 }
553 557
554 String visitAwait(HAwait node) { 558 String visitAwait(HAwait node) {
555 return "Await: ${temporaryId(node.inputs[0])}"; 559 return "Await: ${temporaryId(node.inputs[0])}";
556 } 560 }
557 561
558 String visitYield(HYield node) { 562 String visitYield(HYield node) {
559 return "Yield${node.hasStar ? "*" : ""}: ${temporaryId(node.inputs[0])}"; 563 return "Yield${node.hasStar ? "*" : ""}: ${temporaryId(node.inputs[0])}";
560 } 564 }
561 } 565 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698