| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 530fb6d804d5d7eb5a4bccd380eaa40b60733ff3..26cb3c53dc92a5008151669e849a998710f4e107 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -1737,6 +1737,9 @@ void HeapObject::IterateBody(InstanceType type, int object_size,
|
| case FIXED_ARRAY_TYPE:
|
| FixedArray::BodyDescriptor::IterateBody(this, object_size, v);
|
| break;
|
| + case CONSTANT_POOL_ARRAY_TYPE:
|
| + reinterpret_cast<ConstantPoolArray*>(this)->ConstantPoolIterateBody(v);
|
| + break;
|
| case FIXED_DOUBLE_ARRAY_TYPE:
|
| break;
|
| case JS_OBJECT_TYPE:
|
| @@ -9362,6 +9365,16 @@ bool Map::EquivalentToForNormalization(Map* other,
|
| }
|
|
|
|
|
| +void ConstantPoolArray::ConstantPoolIterateBody(ObjectVisitor* v) {
|
| + int first_ptr_offset = OffsetOfElementAt(first_ptr_index());
|
| + int last_ptr_offset =
|
| + OffsetOfElementAt(first_ptr_index() + count_of_ptr_entries());
|
| + v->VisitPointers(
|
| + HeapObject::RawField(this, first_ptr_offset),
|
| + HeapObject::RawField(this, last_ptr_offset));
|
| +}
|
| +
|
| +
|
| void JSFunction::JSFunctionIterateBody(int object_size, ObjectVisitor* v) {
|
| // Iterate over all fields in the body but take care in dealing with
|
| // the code entry.
|
|
|