anchor.diff:        if (bOrder != null) return 1;
         return 0;
       });
  +
  +    return result;
     }
   
     int prepareSummary(List<int> summaryBytes, UriTranslator uriTranslator,
  
positive.code: 
      // For now ensure original order of libraries to produce bit-perfect
      // output.
      libraries.sort((a, b) {
        int aOrder = data.importUriToOrder[a.importUri];
        int bOrder = data.importUriToOrder[b.importUri];
        if (aOrder != null && bOrder != null) return aOrder - bOrder;
  
negative.code:           ? data.userLoadedUriMain
            : componentWithDill.mainMethod;
  
        List<Library> outputLibraries;
        if (data.includeUserLoadedLibraries || fullComponent) {
          outputLibraries = computeTransitiveClosure(
              compiledLibraries, mainMethod, entryPoint, reusedLibraries, data);
        } else {
          outputLibraries = compiledLibraries;
        }
  
        // Clean up.
        userCode.loader.releaseAncillaryResources();
  
        // This is the incremental component.
        return new Component(libraries: outputLibraries, uriToSource: uriToSource)
          ..mainMethod = mainMethod;
      });
    }
  
    List<Library> computeTransitiveClosure(
        List<Library> inputLibraries,
        Procedure mainMethod,
        Uri entry,
        List<LibraryBuilder> reusedLibraries,
        IncrementalCompilerData data) {
      List<Library> result = new List<Library>.from(inputLibraries);
      Map<Uri, Library> libraryMap = <Uri, Library>{};
      for (Library library in inputLibraries) {
        libraryMap[library.importUri] = library;
      }
      List<Uri> worklist = new List<Uri>.from(libraryMap.keys);
  