| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 /// Generate code using the cps-based IR pipeline. | 5 /// Generate code using the cps-based IR pipeline. |
| 6 library code_generator_task; | 6 library code_generator_task; |
| 7 | 7 |
| 8 import 'glue.dart'; | |
| 9 import 'codegen.dart'; | |
| 10 import 'unsugar.dart'; | |
| 11 | |
| 12 import '../js_backend.dart'; | |
| 13 | |
| 14 import '../../common.dart'; | 8 import '../../common.dart'; |
| 15 import '../../common/codegen.dart' show CodegenWorkItem; | 9 import '../../common/codegen.dart' show CodegenWorkItem; |
| 16 import '../../common/tasks.dart' show CompilerTask, GenericTask; | 10 import '../../common/tasks.dart' show CompilerTask, GenericTask; |
| 17 import '../../compiler.dart' show Compiler; | 11 import '../../compiler.dart' show Compiler; |
| 18 import '../../constants/constant_system.dart'; | 12 import '../../constants/constant_system.dart'; |
| 19 import '../../cps_ir/cps_ir_builder_task.dart'; | 13 import '../../cps_ir/cps_ir_builder_task.dart'; |
| 14 import '../../cps_ir/cps_ir_integrity.dart'; |
| 20 import '../../cps_ir/cps_ir_nodes.dart' as cps; | 15 import '../../cps_ir/cps_ir_nodes.dart' as cps; |
| 21 import '../../cps_ir/cps_ir_nodes_sexpr.dart'; | 16 import '../../cps_ir/cps_ir_nodes_sexpr.dart'; |
| 22 import '../../cps_ir/cps_ir_integrity.dart'; | 17 import '../../cps_ir/finalize.dart' show Finalize; |
| 23 import '../../cps_ir/optimizers.dart'; | 18 import '../../cps_ir/optimizers.dart'; |
| 24 import '../../cps_ir/optimizers.dart' as cps_opt; | 19 import '../../cps_ir/optimizers.dart' as cps_opt; |
| 25 import '../../cps_ir/type_mask_system.dart'; | 20 import '../../cps_ir/type_mask_system.dart'; |
| 26 import '../../cps_ir/finalize.dart' show Finalize; | |
| 27 import '../../diagnostics/invariant.dart' show DEBUG_MODE; | 21 import '../../diagnostics/invariant.dart' show DEBUG_MODE; |
| 28 import '../../elements/elements.dart'; | 22 import '../../elements/elements.dart'; |
| 23 import '../../io/source_information.dart' show SourceInformationStrategy; |
| 29 import '../../js/js.dart' as js; | 24 import '../../js/js.dart' as js; |
| 30 import '../../js_backend/codegen/codegen.dart'; | 25 import '../../js_backend/codegen/codegen.dart'; |
| 31 import '../../io/source_information.dart' show SourceInformationStrategy; | 26 import '../../ssa/ssa.dart' as ssa; |
| 32 import '../../tree_ir/tree_ir_builder.dart' as tree_builder; | |
| 33 import '../../tracer.dart'; | 27 import '../../tracer.dart'; |
| 34 import '../../ssa/ssa.dart' as ssa; | |
| 35 import '../../tree_ir/optimization/optimization.dart'; | 28 import '../../tree_ir/optimization/optimization.dart'; |
| 36 import '../../tree_ir/optimization/optimization.dart' as tree_opt; | 29 import '../../tree_ir/optimization/optimization.dart' as tree_opt; |
| 30 import '../../tree_ir/tree_ir_builder.dart' as tree_builder; |
| 37 import '../../tree_ir/tree_ir_integrity.dart'; | 31 import '../../tree_ir/tree_ir_integrity.dart'; |
| 38 import '../../tree_ir/tree_ir_nodes.dart' as tree_ir; | 32 import '../../tree_ir/tree_ir_nodes.dart' as tree_ir; |
| 39 import '../../types/types.dart' | 33 import '../../types/types.dart' |
| 40 show FlatTypeMask, ForwardingTypeMask, TypeMask, UnionTypeMask; | 34 show FlatTypeMask, ForwardingTypeMask, TypeMask, UnionTypeMask; |
| 35 import '../js_backend.dart'; |
| 36 import 'codegen.dart'; |
| 37 import 'glue.dart'; |
| 38 import 'unsugar.dart'; |
| 41 | 39 |
| 42 class CpsFunctionCompiler implements FunctionCompiler { | 40 class CpsFunctionCompiler implements FunctionCompiler { |
| 43 final ConstantSystem constantSystem; | 41 final ConstantSystem constantSystem; |
| 44 // TODO(karlklose): remove the compiler. | 42 // TODO(karlklose): remove the compiler. |
| 45 final Compiler compiler; | 43 final Compiler compiler; |
| 46 final Glue glue; | 44 final Glue glue; |
| 47 final SourceInformationStrategy sourceInformationFactory; | 45 final SourceInformationStrategy sourceInformationFactory; |
| 48 | 46 |
| 49 // TODO(karlklose,sigurdm): remove and update dart-doc of [compile]. | 47 // TODO(karlklose,sigurdm): remove and update dart-doc of [compile]. |
| 50 final FunctionCompiler fallbackCompiler; | 48 final FunctionCompiler fallbackCompiler; |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 treeOptimizationTask | 347 treeOptimizationTask |
| 350 ]..addAll(fallbackCompiler.tasks); | 348 ]..addAll(fallbackCompiler.tasks); |
| 351 } | 349 } |
| 352 | 350 |
| 353 js.Node attachPosition(js.Node node, ResolvedAst resolvedAst) { | 351 js.Node attachPosition(js.Node node, ResolvedAst resolvedAst) { |
| 354 return node.withSourceInformation(sourceInformationFactory | 352 return node.withSourceInformation(sourceInformationFactory |
| 355 .createBuilderForContext(resolvedAst) | 353 .createBuilderForContext(resolvedAst) |
| 356 .buildDeclaration(resolvedAst)); | 354 .buildDeclaration(resolvedAst)); |
| 357 } | 355 } |
| 358 } | 356 } |
| OLD | NEW |