anchor.diff:          if (isResolutionQueue) {
             compiler.resolver.checkClass(cls);
           }
  +        // We only tell the backend once that [cls] was instantiated, so
  +        // any additional dependencies must be treated as global
  +        // dependencies.
  +        compiler.backend.registerInstantiatedClass(
  +            cls, this, compiler.globalDependencies);
         }
         processClass(cls);
         for (Link<DartType> supertypes = cls.allSupertypes;
  
positive.code:   void internalAddToWorkList(Element element);
  
    void registerInstantiatedType(InterfaceType type, TreeElements elements) {
      ClassElement cls = type.element;
      elements.registerDependency(cls);
      cls.ensureResolved(compiler);
      universe.instantiatedTypes.add(type);
      if (universe.instantiatedClasses.contains(cls)) return;
      if (!cls.isAbstract(compiler)) {
        universe.instantiatedClasses.add(cls);
      }
      onRegisterInstantiatedClass(cls);
      // We only tell the backend once that [cls] was instantiated, so
      // any additional dependencies must be treated as global
      // dependencies.
      compiler.backend.registerInstantiatedClass(
          cls, this, compiler.globalDependencies);
    }
  
    void registerInstantiatedClass(ClassElement cls, TreeElements elements) {
  
negative.code: 
    void onRegisterInstantiatedClass(ClassElement cls) {
      task.measure(() {
        if (seenClasses.contains(cls)) return;
        // The class must be resolved to compute the set of all
        // supertypes.
        cls.ensureResolved(compiler);
  