| Index: runtime/lib/growable_array.dart
|
| diff --git a/runtime/lib/growable_array.dart b/runtime/lib/growable_array.dart
|
| index 1a7b88270d35f3dce5a42bc974fba881ea738423..56e70b260e251b5d0fd063ef5eabbcba35813db2 100644
|
| --- a/runtime/lib/growable_array.dart
|
| +++ b/runtime/lib/growable_array.dart
|
| @@ -103,10 +103,11 @@ class _GrowableList<T> implements List<T> {
|
| if (end == null) end = this.length;
|
| int length = end - start;
|
| if (start == end) return <T>[];
|
| - List list = new _GrowableList<T>.withCapacity(length);
|
| - list.length = length;
|
| + List list = new _List(length);
|
| Lists.copy(this, start, list, 0, length);
|
| - return list;
|
| + var result = new _GrowableList<T>.withData(list);
|
| + result._setLength(length);
|
| + return result;
|
| }
|
|
|
| static const int _kDefaultCapacity = 2;
|
| @@ -336,7 +337,10 @@ class _GrowableList<T> implements List<T> {
|
| }
|
|
|
| List<T> toList({ bool growable: true }) {
|
| - return new List<T>.from(this, growable: growable);
|
| + var length = this.length;
|
| + var result = growable ? new _GrowableList<T>(length) : new _List<T>(length);
|
| + Lists.copy(this, 0, result, 0, length);
|
| + return result;
|
| }
|
|
|
| Set<T> toSet() {
|
|
|