anchor.diff:  
       // Fill predecessors array.
       for (var i = 1; i <= N; i++) {
  -      stream.position = positions[i];
  -      stream.skipUnsigned(); // addr
  -      stream.skipUnsigned(); // shallowSize
  -      stream.skipUnsigned(); // cid
  -      stream.readUnsigned(); // succAddr
  -      while (!stream.isZero) {
  -        var succId = addrToId.get(stream.high, stream.mid, stream.low);
  -        if (succId != null) {
  -          var predIndex = nextPreds[succId]++;
  -          preds[predIndex] = i;
  -        } else {
  -          // Reference to VM isolate's heap.
  -        }
  -        stream.readUnsigned(); // succAddr
  +      var startSuccIndex = firstSuccs[i];
  +      var limitSuccIndex = firstSuccs[i + 1];
  +      for (var succIndex = startSuccIndex;
  +           succIndex < limitSuccIndex;
  +           succIndex++) {
  +        var succId = succs[succIndex];
  +        var predIndex = nextPreds[succId]++;
  +        preds[predIndex] = i;
         }
       }
   
  
positive.code: 
  class _SuccessorsIterator implements Iterator<ObjectVertex> {
    final ObjectGraph _graph;
    ReadStream _stream;
  
    ObjectVertex current;
  
    _SuccessorsIterator(this._graph, int id) {
      _stream = new ReadStream(this._graph._chunks);
      _stream.position = _graph._positions[id];
      _stream.skipUnsigned(); // addr
      _stream.skipUnsigned(); // shallowSize
      _stream.skipUnsigned(); // cid
    }
  
    bool moveNext() {
      while (true) {
        _stream.readUnsigned();
        if (_stream.isZero) return false;
        var nextId = _graph._addrToId.get(_stream.high, _stream.mid, _stream.low);
        if (nextId == null) continue; // Reference to VM isolate's heap.
        current = new ObjectVertex._(nextId, _graph);
        return true;
      }
    }
  }
  
  
negative.code:     // We build futures here instead of marking the steps as async to avoid the
      // heavy lifting being inside a transformed method.
  
      statusReporter.add("Remapping $_N objects...");
      await new Future(() => _remapNodes());
  
      statusReporter.add("Remapping $_E references...");
      await new Future(() => _remapEdges());
  
      _addrToId = null;
      _chunks = null;
  
      statusReporter.add("Finding post order...");
      await new Future(() => _buildPostOrder());
  