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

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

Issue 2970943002: Use index in J/KTypeVariable and fix remaining inequivalence (Closed)
Patch Set: Fix Created 3 years, 5 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) 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 'dart:collection'; 5 import 'dart:collection';
6 6
7 import 'package:js_runtime/shared/embedded_names.dart'; 7 import 'package:js_runtime/shared/embedded_names.dart';
8 8
9 import '../closure.dart'; 9 import '../closure.dart';
10 import '../common.dart'; 10 import '../common.dart';
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 closeAndGotoExit(new HReturn( 720 closeAndGotoExit(new HReturn(
721 value, sourceInformationBuilder.buildReturn(functionElement.node))); 721 value, sourceInformationBuilder.buildReturn(functionElement.node)));
722 return closeFunction(); 722 return closeFunction();
723 } 723 }
724 assert(!function.modifiers.isExternal, failedAt(functionElement)); 724 assert(!function.modifiers.isExternal, failedAt(functionElement));
725 725
726 // If [functionElement] is `operator==` we explicitly add a null check at 726 // If [functionElement] is `operator==` we explicitly add a null check at
727 // the beginning of the method. This is to avoid having call sites do the 727 // the beginning of the method. This is to avoid having call sites do the
728 // null check. 728 // null check.
729 if (name == '==') { 729 if (name == '==') {
730 if (!backend.operatorEqHandlesNullArgument(functionElement)) { 730 if (!commonElements.operatorEqHandlesNullArgument(functionElement)) {
731 handleIf( 731 handleIf(
732 node: function, 732 node: function,
733 visitCondition: () { 733 visitCondition: () {
734 HParameterValue parameter = parameters.values.first; 734 HParameterValue parameter = parameters.values.first;
735 push(new HIdentity(parameter, graph.addConstantNull(closedWorld), 735 push(new HIdentity(parameter, graph.addConstantNull(closedWorld),
736 null, commonMasks.boolType)); 736 null, commonMasks.boolType));
737 }, 737 },
738 visitThen: () { 738 visitThen: () {
739 closeAndGotoExit(new HReturn( 739 closeAndGotoExit(new HReturn(
740 graph.addConstantBool(false, closedWorld), 740 graph.addConstantBool(false, closedWorld),
(...skipping 6103 matching lines...) Expand 10 before | Expand all | Expand 10 after
6844 this.oldReturnLocal, 6844 this.oldReturnLocal,
6845 this.oldReturnType, 6845 this.oldReturnType,
6846 this.oldResolvedAst, 6846 this.oldResolvedAst,
6847 this.oldStack, 6847 this.oldStack,
6848 this.oldLocalsHandler, 6848 this.oldLocalsHandler,
6849 this.inTryStatement, 6849 this.inTryStatement,
6850 this.allFunctionsCalledOnce, 6850 this.allFunctionsCalledOnce,
6851 this.oldElementInferenceResults) 6851 this.oldElementInferenceResults)
6852 : super(function); 6852 : super(function);
6853 } 6853 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/kernel/kelements.dart ('k') | pkg/compiler/lib/src/ssa/builder_kernel.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698