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

Side by Side Diff: pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart

Issue 1784263002: dart2js cps: A few extra RTI optimizations. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix negation Created 4 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/cps_ir/gvn.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) 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 library dart2js.ir_nodes; 4 library dart2js.ir_nodes;
5 5
6 import 'dart:collection'; 6 import 'dart:collection';
7 import 'cps_fragment.dart' show CpsFragment; 7 import 'cps_fragment.dart' show CpsFragment;
8 import 'cps_ir_nodes_sexpr.dart'; 8 import 'cps_ir_nodes_sexpr.dart';
9 import '../constants/values.dart' as values; 9 import '../constants/values.dart' as values;
10 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType; 10 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType;
(...skipping 1416 matching lines...) Expand 10 before | Expand all | Expand 10 after
1427 1427
1428 /// Initial values for the fields on the class. 1428 /// Initial values for the fields on the class.
1429 /// The order corresponds to the order of fields on the class. 1429 /// The order corresponds to the order of fields on the class.
1430 final List<Reference<Primitive>> argumentRefs; 1430 final List<Reference<Primitive>> argumentRefs;
1431 1431
1432 /// The runtime type information structure which contains the type arguments. 1432 /// The runtime type information structure which contains the type arguments.
1433 /// 1433 ///
1434 /// May be `null` to indicate that no type information is needed because the 1434 /// May be `null` to indicate that no type information is needed because the
1435 /// compiler determined that the type information for instances of this class 1435 /// compiler determined that the type information for instances of this class
1436 /// is not needed at runtime. 1436 /// is not needed at runtime.
1437 final Reference<Primitive> typeInformationRef; 1437 Reference<Primitive> typeInformationRef;
1438 1438
1439 final SourceInformation sourceInformation; 1439 final SourceInformation sourceInformation;
1440 1440
1441 Primitive argument(int n) => argumentRefs[n].definition; 1441 Primitive argument(int n) => argumentRefs[n].definition;
1442 Iterable<Primitive> get arguments => _dereferenceList(argumentRefs); 1442 Iterable<Primitive> get arguments => _dereferenceList(argumentRefs);
1443 Primitive get typeInformation => typeInformationRef?.definition; 1443 Primitive get typeInformation => typeInformationRef?.definition;
1444 1444
1445 CreateInstance(this.classElement, List<Primitive> arguments, 1445 CreateInstance(this.classElement, List<Primitive> arguments,
1446 Primitive typeInformation, this.sourceInformation) 1446 Primitive typeInformation, this.sourceInformation)
1447 : this.argumentRefs = _referenceList(arguments), 1447 : this.argumentRefs = _referenceList(arguments),
(...skipping 1662 matching lines...) Expand 10 before | Expand all | Expand 10 after
3110 plug(new Branch.loose( 3110 plug(new Branch.loose(
3111 _definitions.getCopy(node.conditionRef), 3111 _definitions.getCopy(node.conditionRef),
3112 _copies[node.trueContinuation], 3112 _copies[node.trueContinuation],
3113 _copies[node.falseContinuation])..isStrictCheck = node.isStrictCheck); 3113 _copies[node.falseContinuation])..isStrictCheck = node.isStrictCheck);
3114 } 3114 }
3115 3115
3116 visitUnreachable(Unreachable node) { 3116 visitUnreachable(Unreachable node) {
3117 plug(new Unreachable()); 3117 plug(new Unreachable());
3118 } 3118 }
3119 } 3119 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/cps_ir/gvn.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698