| Index: dart/frog/leg/ssa/builder.dart
|
| diff --git a/dart/frog/leg/ssa/builder.dart b/dart/frog/leg/ssa/builder.dart
|
| index 30cdbe951515cd25f181e77a6ceeadcfe841ac18..61612d3a36357ef06025584243babb63acaf4a83 100644
|
| --- a/dart/frog/leg/ssa/builder.dart
|
| +++ b/dart/frog/leg/ssa/builder.dart
|
| @@ -112,10 +112,15 @@ class Interceptors {
|
| }
|
|
|
| class SsaBuilderTask extends CompilerTask {
|
| - SsaBuilderTask(Compiler compiler)
|
| - : super(compiler), interceptors = new Interceptors(compiler);
|
| + final Interceptors interceptors;
|
| + final Map<Node, ClosureData> closureDataCache;
|
| +
|
| String get name() => 'SSA builder';
|
| - Interceptors interceptors;
|
| +
|
| + SsaBuilderTask(Compiler compiler)
|
| + : interceptors = new Interceptors(compiler),
|
| + closureDataCache = new HashMap<Node, ClosureData>(),
|
| + super(compiler);
|
|
|
| HGraph build(WorkItem work) {
|
| return measure(() {
|
| @@ -1254,7 +1259,7 @@ class SsaBuilder implements Visitor {
|
| }
|
|
|
| visitFunctionExpression(FunctionExpression node) {
|
| - ClosureData nestedClosureData = closureDataCache[node];
|
| + ClosureData nestedClosureData = compiler.builder.closureDataCache[node];
|
| if (nestedClosureData === null) {
|
| // TODO(floitsch): we can only assume that the reason for not having a
|
| // closure data here is, because the function is inside an initializer.
|
|
|