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..68739c68277f4a3803c7a29127cdfda68392cd64 100644 |
--- a/sdk/lib/_internal/compiler/implementation/enqueue.dart |
+++ b/sdk/lib/_internal/compiler/implementation/enqueue.dart |
@@ -49,8 +49,6 @@ abstract class Enqueuer { |
bool hasEnqueuedReflectiveElements = false; |
bool hasEnqueuedReflectiveStaticFields = false; |
- CompilationInformation get compilationInfo; |
- |
Enqueuer(this.name, this.compiler, this.itemCompilationContextCreator); |
Queue<WorkItem> get queue; |
@@ -71,9 +69,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 +185,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; |
} |
@@ -221,8 +216,6 @@ abstract class Enqueuer { |
void enableNoSuchMethod(Element element) {} |
void enableIsolateSupport() {} |
- Element getContext() => compiler.currentElement; |
- |
void onRegisterInstantiatedClass(ClassElement cls) { |
task.measure(() { |
if (seenClasses.contains(cls)) return; |
@@ -254,33 +247,32 @@ abstract class Enqueuer { |
}); |
} |
- void registerNewSelector(Element context, |
- Selector selector, |
+ void registerNewSelector(Selector selector, |
Map<String, Set<Selector>> selectorsMap) { |
String name = selector.name; |
Set<Selector> selectors = |
selectorsMap.putIfAbsent(name, () => new Setlet<Selector>()); |
if (!selectors.contains(selector)) { |
selectors.add(selector); |
- handleUnseenSelector(context, name, selector); |
+ handleUnseenSelector(name, selector); |
} |
} |
- void registerInvocation(Element context, Selector selector) { |
+ void registerInvocation(Selector selector) { |
task.measure(() { |
- registerNewSelector(context, selector, universe.invokedNames); |
+ registerNewSelector(selector, universe.invokedNames); |
}); |
} |
- void registerInvokedGetter(Element context, Selector selector) { |
+ void registerInvokedGetter(Selector selector) { |
task.measure(() { |
- registerNewSelector(context, selector, universe.invokedGetters); |
+ registerNewSelector(selector, universe.invokedGetters); |
}); |
} |
- void registerInvokedSetter(Element context, Selector selector) { |
+ void registerInvokedSetter(Selector selector) { |
task.measure(() { |
- registerNewSelector(context, selector, universe.invokedSetters); |
+ registerNewSelector(selector, universe.invokedSetters); |
}); |
} |
@@ -333,11 +325,11 @@ abstract class Enqueuer { |
// well. |
// TODO(herhut): Use TypedSelector.subtype for enqueueing |
Selector selector = new Selector.fromElement(element, compiler); |
- registerSelectorUse(element, selector); |
+ registerSelectorUse(selector); |
if (element.isField) { |
Selector selector = |
new Selector.setter(element.name, element.library); |
- registerInvokedSetter(element, selector); |
+ registerInvokedSetter(selector); |
} |
} |
} |
@@ -474,11 +466,8 @@ abstract class Enqueuer { |
processLink(instanceFunctionsByName, n, f); |
} |
- void handleUnseenSelector(Element context, |
- String methodName, |
- Selector selector) { |
+ void handleUnseenSelector(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); |
@@ -535,27 +524,27 @@ abstract class Enqueuer { |
universe.staticFunctionsNeedingGetter.add(element); |
} |
- void registerDynamicInvocation(Element context, Selector selector) { |
+ void registerDynamicInvocation(Selector selector) { |
assert(selector != null); |
- registerInvocation(context, selector); |
+ registerInvocation(selector); |
} |
- void registerSelectorUse(Element context, Selector selector) { |
+ void registerSelectorUse(Selector selector) { |
if (selector.isGetter) { |
- registerInvokedGetter(context, selector); |
+ registerInvokedGetter(selector); |
} else if (selector.isSetter) { |
- registerInvokedSetter(context, selector); |
+ registerInvokedSetter(selector); |
} else { |
- registerInvocation(context, selector); |
+ registerInvocation(selector); |
} |
} |
- void registerDynamicGetter(Element context, Selector selector) { |
- registerInvokedGetter(context, selector); |
+ void registerDynamicGetter(Selector selector) { |
+ registerInvokedGetter(selector); |
} |
- void registerDynamicSetter(Element context, Selector selector) { |
- registerInvokedSetter(context, selector); |
+ void registerDynamicSetter(Selector selector) { |
+ registerInvokedSetter(selector); |
} |
void registerGetterForSuperMethod(Element element) { |
@@ -663,16 +652,12 @@ class ResolutionEnqueuer extends Enqueuer { |
*/ |
final Queue<DeferredTask> deferredTaskQueue; |
- CompilationInformation compilationInfo; |
- |
ResolutionEnqueuer(Compiler compiler, |
ItemCompilationContext itemCompilationContextCreator()) |
: super('resolution enqueuer', compiler, itemCompilationContextCreator), |
resolvedElements = new Set<AstElement>(), |
queue = new Queue<ResolutionWorkItem>(), |
- deferredTaskQueue = new Queue<DeferredTask>() { |
- compilationInfo = new CompilationInformation(this, compiler.dumpInfo); |
- } |
+ deferredTaskQueue = new Queue<DeferredTask>(); |
bool get isResolutionQueue => true; |
@@ -815,15 +800,11 @@ class CodegenEnqueuer extends Enqueuer { |
final Set<Element> newlyEnqueuedElements; |
- CompilationInformation compilationInfo; |
- |
CodegenEnqueuer(Compiler compiler, |
ItemCompilationContext itemCompilationContextCreator()) |
: queue = new Queue<CodegenWorkItem>(), |
newlyEnqueuedElements = compiler.cacheStrategy.newSet(), |
- super('codegen enqueuer', compiler, itemCompilationContextCreator) { |
- compilationInfo = new CompilationInformation(this, compiler.dumpInfo); |
- } |
+ super('codegen enqueuer', compiler, itemCompilationContextCreator); |
bool isProcessed(Element member) => |
member.isAbstract || generatedCode.containsKey(member); |