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

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

Issue 2645973003: dart2js: Move lowering of identical(a, b) from builder to optimizer (Closed)
Patch Set: format Created 3 years, 11 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
« no previous file with comments | « pkg/compiler/lib/src/ssa/builder.dart ('k') | sdk/lib/_internal/js_runtime/lib/core_patch.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem; 5 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem;
6 import '../common/names.dart' show Selectors; 6 import '../common/names.dart' show Selectors;
7 import '../common/tasks.dart' show CompilerTask; 7 import '../common/tasks.dart' show CompilerTask;
8 import '../compiler.dart' show Compiler; 8 import '../compiler.dart' show Compiler;
9 import '../constants/constant_system.dart'; 9 import '../constants/constant_system.dart';
10 import '../constants/values.dart'; 10 import '../constants/values.dart';
(...skipping 987 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 value = other; 998 value = other;
999 } 999 }
1000 } 1000 }
1001 return new HFieldSet(field, receiver, value); 1001 return new HFieldSet(field, receiver, value);
1002 } 1002 }
1003 1003
1004 HInstruction visitInvokeStatic(HInvokeStatic node) { 1004 HInstruction visitInvokeStatic(HInvokeStatic node) {
1005 propagateConstantValueToUses(node); 1005 propagateConstantValueToUses(node);
1006 MemberEntity element = node.element; 1006 MemberEntity element = node.element;
1007 1007
1008 if (element == backend.helpers.checkConcurrentModificationError) { 1008 if (element == compiler.commonElements.identicalFunction) {
1009 if (node.inputs.length == 2) {
1010 return new HIdentity(node.inputs[0], node.inputs[1], null,
1011 closedWorld.commonMasks.boolType)
1012 ..sourceInformation = node.sourceInformation;
1013 }
1014 } else if (element == backend.helpers.checkConcurrentModificationError) {
1009 if (node.inputs.length == 2) { 1015 if (node.inputs.length == 2) {
1010 HInstruction firstArgument = node.inputs[0]; 1016 HInstruction firstArgument = node.inputs[0];
1011 if (firstArgument is HConstant) { 1017 if (firstArgument is HConstant) {
1012 HConstant constant = firstArgument; 1018 HConstant constant = firstArgument;
1013 if (constant.constant.isTrue) return constant; 1019 if (constant.constant.isTrue) return constant;
1014 } 1020 }
1015 } 1021 }
1016 } else if (element == backend.helpers.checkInt) { 1022 } else if (element == backend.helpers.checkInt) {
1017 if (node.inputs.length == 1) { 1023 if (node.inputs.length == 1) {
1018 HInstruction argument = node.inputs[0]; 1024 HInstruction argument = node.inputs[0];
(...skipping 1735 matching lines...) Expand 10 before | Expand all | Expand 10 after
2754 2760
2755 keyedValues.forEach((receiver, values) { 2761 keyedValues.forEach((receiver, values) {
2756 result.keyedValues[receiver] = 2762 result.keyedValues[receiver] =
2757 new Map<HInstruction, HInstruction>.from(values); 2763 new Map<HInstruction, HInstruction>.from(values);
2758 }); 2764 });
2759 2765
2760 result.nonEscapingReceivers.addAll(nonEscapingReceivers); 2766 result.nonEscapingReceivers.addAll(nonEscapingReceivers);
2761 return result; 2767 return result;
2762 } 2768 }
2763 } 2769 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/ssa/builder.dart ('k') | sdk/lib/_internal/js_runtime/lib/core_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698