Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index 45448f5a902837820c80a28acd71ecb9ec7db8fb..69dccbcf96c4b0c2a04e31ca572e8e5f0652f8c1 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -2990,17 +2990,15 @@ void Class::AddField(const Field& field) const { |
} |
-void Class::AddFields(const GrowableObjectArray& new_fields) const { |
- const intptr_t num_new_fields = new_fields.Length(); |
+void Class::AddFields(const GrowableArray<const Field*>& new_fields) const { |
+ const intptr_t num_new_fields = new_fields.length(); |
if (num_new_fields == 0) return; |
const Array& arr = Array::Handle(fields()); |
const intptr_t num_old_fields = arr.Length(); |
const Array& new_arr = Array::Handle( |
Array::Grow(arr, num_old_fields + num_new_fields, Heap::kOld)); |
- Field& field = Field::Handle(); |
for (intptr_t i = 0; i < num_new_fields; i++) { |
- field ^= new_fields.At(i); |
- new_arr.SetAt(i + num_old_fields, field); |
+ new_arr.SetAt(i + num_old_fields, *new_fields.At(i)); |
} |
SetFields(new_arr); |
} |
@@ -11635,7 +11633,7 @@ RawExceptionHandlers* ExceptionHandlers::New(intptr_t num_handlers) { |
} |
const Array& handled_types_data = (num_handlers == 0) ? |
Object::empty_array() : |
- Array::Handle(Array::New(num_handlers)); |
+ Array::Handle(Array::New(num_handlers, Heap::kOld)); |
result.set_handled_types_data(handled_types_data); |
return result.raw(); |
} |
@@ -13827,7 +13825,7 @@ RawSubtypeTestCache* SubtypeTestCache::New() { |
NoSafepointScope no_safepoint; |
result ^= raw; |
} |
- const Array& cache = Array::Handle(Array::New(kTestEntryLength)); |
+ const Array& cache = Array::Handle(Array::New(kTestEntryLength, Heap::kOld)); |
result.set_cache(cache); |
return result.raw(); |
} |