| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |