anchor.diff:        }
       }
       _setData(newData);
  +  }
  +
  +  // This method is marked as never-inline to conserve code size.
  +  // It is called in rare cases, but used in the add() which is
  +  // used very often and always inlined.
  +  @pragma("vm:never-inline")
  +  void _growToNextCapacity() {
  +    _grow(_nextCapacity(_capacity));
     }
   
     void _shrink(int new_capacity, int new_length) {
  
positive.code:   void add(T value) {
      var len = length;
      if (len == _capacity) {
        _grow(_nextCapacity(len));
      }
      _setLength(len + 1);
      this[len] = value;
  
negative.code:         if (this.length != newLen) throw new ConcurrentModificationError(this);
          len = newLen;
        }
        _growToNextCapacity();
      } while (true);
    }
  
  