Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart b/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
| index 02e78b7fce8abee9707e54097758e1a4a53054b1..cbabd8308b9ccc8a6f6f06e8257d6653b0506713 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
| @@ -163,6 +163,7 @@ class FunctionInlineCache { |
| class JavaScriptBackend extends Backend { |
| SsaBuilderTask builder; |
| + SsaFromIrBuilderTask fromIrBuilder; |
| SsaOptimizerTask optimizer; |
| SsaCodeGeneratorTask generator; |
| CodeEmitterTask emitter; |
| @@ -419,6 +420,7 @@ class JavaScriptBackend extends Backend { |
| super(compiler, JAVA_SCRIPT_CONSTANT_SYSTEM) { |
| emitter = new CodeEmitterTask(compiler, namer, generateSourceMap); |
| builder = new SsaBuilderTask(this); |
| + fromIrBuilder = new SsaFromIrBuilderTask(compiler); |
| optimizer = new SsaOptimizerTask(this); |
| generator = new SsaCodeGeneratorTask(this); |
| typeVariableHandler = new TypeVariableHandler(this); |
| @@ -1260,8 +1262,9 @@ class JavaScriptBackend extends Backend { |
| compiler.enqueuer.codegen.registerStaticUse(getCyclicThrowHelper()); |
| } |
| } |
| - |
| - HGraph graph = builder.build(work); |
| + HGraph graph = element.implementation.hasIrNode(compiler) |
|
ngeoffray
2013/11/22 12:21:04
Maybe put the implementation part in the hasIrNode
lukas
2013/11/22 16:33:03
Done.
|
| + ? fromIrBuilder.build(work) |
| + : builder.build(work); |
| optimizer.optimize(work, graph); |
| jsAst.Expression code = generator.generateCode(work, graph); |
| generatedCode[element] = code; |