Chromium Code Reviews| Index: runtime/vm/object.h |
| diff --git a/runtime/vm/object.h b/runtime/vm/object.h |
| index d5062633402b9c66a7b4e20c46a5eb4e109c01be..b045922ceebd7ec63ce6bcc19aeca2a3e6c47c2e 100644 |
| --- a/runtime/vm/object.h |
| +++ b/runtime/vm/object.h |
| @@ -7652,7 +7652,10 @@ class Array : public Instance { |
| // object or a regular Object so that it can be traversed during garbage |
| // collection. The backing array of the original Growable Object Array is |
| // set to an empty array. |
| - static RawArray* MakeArray(const GrowableObjectArray& growable_array); |
| + // If the unique parameter is false, the function is allowed to return |
| + // a shared Array instance. |
| + static RawArray* MakeArray(const GrowableObjectArray& growable_array, |
| + bool unique = false); |
| RawArray* Slice(intptr_t start, |
| intptr_t count, |
| @@ -7766,8 +7769,6 @@ class GrowableObjectArray : public Instance { |
| // reusing the type argument vector of the instantiator. |
| ASSERT(value.IsNull() || ((value.Length() >= 1) && value.IsInstantiated() && |
| value.IsCanonical())); |
|
erikcorry
2017/06/21 09:06:01
Perhaps insert a comment to the effect that the ba
|
| - const Array& contents = Array::Handle(data()); |
| - contents.SetTypeArguments(value); |
| StorePointer(&raw_ptr()->type_arguments_, value.raw()); |
| } |
| @@ -7818,7 +7819,7 @@ class GrowableObjectArray : public Instance { |
| return &(DataArray()->data()[index]); |
| } |
| - static const int kDefaultInitialCapacity = 4; |
| + static const int kDefaultInitialCapacity = 0; |
| FINAL_HEAP_OBJECT_IMPLEMENTATION(GrowableObjectArray, Instance); |
| friend class Array; |