Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 0e2f4c1cbe7fcca45b3f8b23a4841a759b984119..b295bae9fc97b527f57bcb57b4e0d6f237a7570c 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -9457,12 +9457,14 @@ 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)); |
+ if (count_of_ptr_entries() > 0) { |
+ 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)); |
+ } |
} |