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

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

Issue 1343783002: dart2js ssa: Avoid tracking too much in load elimination (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 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 part of ssa; 5 part of ssa;
6 6
7 class SsaFunctionCompiler implements FunctionCompiler { 7 class SsaFunctionCompiler implements FunctionCompiler {
8 final SsaCodeGeneratorTask generator; 8 final SsaCodeGeneratorTask generator;
9 final SsaBuilderTask builder; 9 final SsaBuilderTask builder;
10 final SsaOptimizerTask optimizer; 10 final SsaOptimizerTask optimizer;
(...skipping 1079 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 SsaBuilder(JavaScriptBackend backend, 1090 SsaBuilder(JavaScriptBackend backend,
1091 CodegenWorkItem work, 1091 CodegenWorkItem work,
1092 this.nativeEmitter, 1092 this.nativeEmitter,
1093 SourceInformationStrategy sourceInformationFactory) 1093 SourceInformationStrategy sourceInformationFactory)
1094 : this.compiler = backend.compiler, 1094 : this.compiler = backend.compiler,
1095 this.backend = backend, 1095 this.backend = backend,
1096 this.constantSystem = backend.constantSystem, 1096 this.constantSystem = backend.constantSystem,
1097 this.work = work, 1097 this.work = work,
1098 this.rti = backend.rti, 1098 this.rti = backend.rti,
1099 this.elements = work.resolutionTree { 1099 this.elements = work.resolutionTree {
1100 graph.element = work.element;
1100 localsHandler = new LocalsHandler(this, work.element, null); 1101 localsHandler = new LocalsHandler(this, work.element, null);
1101 sourceElementStack.add(work.element); 1102 sourceElementStack.add(work.element);
1102 sourceInformationBuilder = 1103 sourceInformationBuilder =
1103 sourceInformationFactory.createBuilderForContext( 1104 sourceInformationFactory.createBuilderForContext(
1104 work.element.implementation); 1105 work.element.implementation);
1105 } 1106 }
1106 1107
1107 @override 1108 @override
1108 SemanticSendVisitor get sendVisitor => this; 1109 SemanticSendVisitor get sendVisitor => this;
1109 1110
(...skipping 7829 matching lines...) Expand 10 before | Expand all | Expand 10 after
8939 if (unaliased is TypedefType) throw 'unable to unalias $type'; 8940 if (unaliased is TypedefType) throw 'unable to unalias $type';
8940 unaliased.accept(this, builder); 8941 unaliased.accept(this, builder);
8941 } 8942 }
8942 8943
8943 void visitDynamicType(DynamicType type, SsaBuilder builder) { 8944 void visitDynamicType(DynamicType type, SsaBuilder builder) {
8944 JavaScriptBackend backend = builder.compiler.backend; 8945 JavaScriptBackend backend = builder.compiler.backend;
8945 ClassElement cls = backend.findHelper('DynamicRuntimeType'); 8946 ClassElement cls = backend.findHelper('DynamicRuntimeType');
8946 builder.push(new HDynamicType(type, new TypeMask.exact(cls, classWorld))); 8947 builder.push(new HDynamicType(type, new TypeMask.exact(cls, classWorld)));
8947 } 8948 }
8948 } 8949 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/ssa/nodes.dart » ('j') | pkg/compiler/lib/src/ssa/optimize.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698