| Index: pkg/compiler/lib/src/ssa/builder.dart
|
| diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
|
| index abd5e29594869b5486b149f52854b583ddcb859b..f63e1e8a3461b99c992d6ec73225bc2c6471f48b 100644
|
| --- a/pkg/compiler/lib/src/ssa/builder.dart
|
| +++ b/pkg/compiler/lib/src/ssa/builder.dart
|
| @@ -4,6 +4,29 @@
|
|
|
| part of ssa;
|
|
|
| +class SsaFunctionCompiler implements FunctionCompiler {
|
| + SsaCodeGeneratorTask generator;
|
| + SsaBuilderTask builder;
|
| + SsaOptimizerTask optimizer;
|
| +
|
| + SsaFunctionCompiler(JavaScriptBackend backend)
|
| + : generator = new SsaCodeGeneratorTask(backend),
|
| + builder = new SsaBuilderTask(backend),
|
| + optimizer = new SsaOptimizerTask(backend);
|
| +
|
| + /// Generates JavaScript code for `work.element`.
|
| + /// Using the ssa builder, optimizer and codegenerator.
|
| + js.Fun compile(CodegenWorkItem work) {
|
| + HGraph graph = builder.build(work);
|
| + optimizer.optimize(work, graph);
|
| + return generator.generateCode(work, graph);
|
| + }
|
| +
|
| + Iterable<CompilerTask> get tasks {
|
| + return <CompilerTask>[builder, optimizer, generator];
|
| + }
|
| +}
|
| +
|
| /// A synthetic local variable only used with the SSA graph.
|
| ///
|
| /// For instance used for holding return value of function or the exception of a
|
|
|