Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/enqueue.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/enqueue.dart b/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| index fbd3f93e7123b256b48275c0566ea473b5777726..7623f3d856736117549505cb9a7ae7c448e804e6 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| @@ -49,7 +49,7 @@ abstract class Enqueuer { |
| bool hasEnqueuedReflectiveElements = false; |
| bool hasEnqueuedReflectiveStaticFields = false; |
| - CompilationInformation get compilationInfo; |
| + DependencyInformation get dependencyInfo; |
|
sra1
2014/07/30 21:43:48
I would remove this from the enqueuers and do it a
Ty Overby (Google)
2014/08/01 16:39:38
Done.
|
| Enqueuer(this.name, this.compiler, this.itemCompilationContextCreator); |
| @@ -71,9 +71,7 @@ abstract class Enqueuer { |
| */ |
| void addToWorkList(Element element) { |
| assert(invariant(element, element.isDeclaration)); |
| - if (internalAddToWorkList(element)) { |
| - compilationInfo.addsToWorkList(compiler.currentElement, element); |
| - } |
| + internalAddToWorkList(element); |
| } |
| /** |
| @@ -189,7 +187,6 @@ abstract class Enqueuer { |
| memberName, () => const Link<Element>()); |
| instanceFunctionsByName[memberName] = members.prepend(member); |
| if (universe.hasInvocation(member, compiler)) { |
| - compilationInfo.enqueues(getContext(), member); |
| addToWorkList(member); |
| return; |
| } |
| @@ -260,6 +257,7 @@ abstract class Enqueuer { |
| String name = selector.name; |
| Set<Selector> selectors = |
| selectorsMap.putIfAbsent(name, () => new Setlet<Selector>()); |
| + dependencyInfo.elementUsesSelector(context, selector); |
|
sra1
2014/07/30 21:43:48
If we move this to CodegenRegistry, we can get rid
Ty Overby (Google)
2014/08/01 16:39:37
Done.
|
| if (!selectors.contains(selector)) { |
| selectors.add(selector); |
| handleUnseenSelector(context, name, selector); |
| @@ -478,7 +476,6 @@ abstract class Enqueuer { |
| String methodName, |
| Selector selector) { |
| processInstanceMembers(methodName, (Element member) { |
| - compilationInfo.enqueues(context, member); |
| if (selector.appliesUnnamed(member, compiler)) { |
| if (member.isFunction && selector.isGetter) { |
| registerClosurizedMember(member, compiler.globalDependencies); |
| @@ -663,7 +660,7 @@ class ResolutionEnqueuer extends Enqueuer { |
| */ |
| final Queue<DeferredTask> deferredTaskQueue; |
| - CompilationInformation compilationInfo; |
| + DependencyInformation dependencyInfo; |
| ResolutionEnqueuer(Compiler compiler, |
| ItemCompilationContext itemCompilationContextCreator()) |
| @@ -671,7 +668,7 @@ class ResolutionEnqueuer extends Enqueuer { |
| resolvedElements = new Set<AstElement>(), |
| queue = new Queue<ResolutionWorkItem>(), |
| deferredTaskQueue = new Queue<DeferredTask>() { |
| - compilationInfo = new CompilationInformation(this, compiler.dumpInfo); |
| + dependencyInfo = new DependencyInformation(this, compiler.dumpInfo); |
| } |
| bool get isResolutionQueue => true; |
| @@ -815,14 +812,14 @@ class CodegenEnqueuer extends Enqueuer { |
| final Set<Element> newlyEnqueuedElements; |
| - CompilationInformation compilationInfo; |
| + DependencyInformation dependencyInfo; |
| CodegenEnqueuer(Compiler compiler, |
| ItemCompilationContext itemCompilationContextCreator()) |
| : queue = new Queue<CodegenWorkItem>(), |
| newlyEnqueuedElements = compiler.cacheStrategy.newSet(), |
| super('codegen enqueuer', compiler, itemCompilationContextCreator) { |
| - compilationInfo = new CompilationInformation(this, compiler.dumpInfo); |
| + dependencyInfo = new DependencyInformation(this, compiler.dumpInfo); |
| } |
| bool isProcessed(Element member) => |