Chromium Code Reviews| Index: pkg/compiler/lib/src/ssa/builder_kernel.dart |
| diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart |
| index 21053f050bf1ca4bcf84e130194dc7b6a9ec3598..86628759138e43e412158d46efd43e3a1560932e 100644 |
| --- a/pkg/compiler/lib/src/ssa/builder_kernel.dart |
| +++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart |
| @@ -37,14 +37,16 @@ class SsaKernelBuilderTask extends CompilerTask { |
| return measure(() { |
| AstElement element = work.element.implementation; |
| TreeElements treeElements = work.resolvedAst.elements; |
| - Kernel kernel = new Kernel(backend.compiler); |
| - KernelVisitor visitor = new KernelVisitor(element, treeElements, kernel); |
| - IrFunction function; |
| - try { |
| - function = visitor.buildFunction(); |
| - } catch (e) { |
| - throw "Failed to convert to Kernel IR: $e"; |
| - } |
| +// Kernel kernel = new Kernel(backend.compiler); |
|
Siggi Cherem (dart-lang)
2016/09/09 22:49:23
delete?
Harry Terkelsen
2016/09/09 22:56:47
Done.
|
| +// KernelVisitor visitor = new KernelVisitor(element, treeElements, kernel); |
| +// IrFunction function; |
| +// try { |
| +// function = visitor.buildFunction(); |
| +// } catch (e) { |
| +// throw "Failed to convert to Kernel IR: $e"; |
| +// } |
| + Kernel kernel = backend.kernelTask.kernel; |
| + ir.Procedure function = kernel.functions[element]; |
| KernelSsaBuilder builder = new KernelSsaBuilder( |
| function, |
| element, |
| @@ -52,7 +54,6 @@ class SsaKernelBuilderTask extends CompilerTask { |
| backend.compiler, |
| work.registry, |
| sourceInformationFactory, |
| - visitor, |
| kernel); |
| return builder.build(); |
| }); |
| @@ -60,7 +61,7 @@ class SsaKernelBuilderTask extends CompilerTask { |
| } |
| class KernelSsaBuilder extends ir.Visitor with GraphBuilder { |
| - final IrFunction function; |
| + final ir.Procedure function; |
| final FunctionElement functionElement; |
| final ResolvedAst resolvedAst; |
| final Compiler compiler; |
| @@ -78,7 +79,6 @@ class KernelSsaBuilder extends ir.Visitor with GraphBuilder { |
| this.compiler, |
| this.registry, |
| SourceInformationStrategy sourceInformationFactory, |
| - KernelVisitor visitor, |
| Kernel kernel) { |
| graph.element = functionElement; |
| // TODO(het): Should sourceInformationBuilder be in GraphBuilder? |
| @@ -91,8 +91,8 @@ class KernelSsaBuilder extends ir.Visitor with GraphBuilder { |
| this.astAdapter = new KernelAstAdapter( |
| compiler.backend, |
| resolvedAst, |
| - visitor.nodeToAst, |
| - visitor.nodeToElement, |
| + kernel.nodeToAst, |
| + kernel.nodeToElement, |
| kernel.functions, |
| kernel.classes, |
| kernel.libraries); |
| @@ -132,13 +132,14 @@ class KernelSsaBuilder extends ir.Visitor with GraphBuilder { |
| } |
| /// Builds a SSA graph for [method]. |
| - void buildMethod(IrFunction method, FunctionElement functionElement) { |
| - openFunction(method, functionElement); |
| - method.node.body.accept(this); |
| + void buildMethod(ir.Procedure method, FunctionElement functionElement) { |
| + openFunction(functionElement); |
| + method.function.body.accept(this); |
| closeFunction(); |
| } |
| - void openFunction(IrFunction method, FunctionElement functionElement) { |
| + // TODO(het): get function element from astAdapter? |
| + void openFunction(FunctionElement functionElement) { |
| HBasicBlock block = graph.addNewBlock(); |
| open(graph.entry); |
| localsHandler.startFunction(functionElement, resolvedAst.node); |