Index: src/objects-debug.cc |
diff --git a/src/objects-debug.cc b/src/objects-debug.cc |
index 90b01934dfec256e8e1abb081ea467f819095679..fa3c375cb499c821c65a2614578d5113206a154b 100644 |
--- a/src/objects-debug.cc |
+++ b/src/objects-debug.cc |
@@ -335,9 +335,7 @@ void JSObject::JSObjectVerify() { |
// If a GC was caused while constructing this object, the elements |
// pointer may point to a one pointer filler map. |
- if ((FLAG_use_gvn && FLAG_use_allocation_folding) || |
- (reinterpret_cast<Map*>(elements()) != |
- GetHeap()->one_pointer_filler_map())) { |
+ if (ElementsAreSafeToExamine()) { |
CHECK_EQ((map()->has_fast_smi_or_object_elements() || |
(elements() == GetHeap()->empty_fixed_array())), |
(elements()->map() == GetHeap()->fixed_array_map() || |
@@ -698,9 +696,7 @@ void JSArray::JSArrayVerify() { |
CHECK(length()->IsNumber() || length()->IsUndefined()); |
// If a GC was caused while constructing this array, the elements |
// pointer may point to a one pointer filler map. |
- if ((FLAG_use_gvn && FLAG_use_allocation_folding) || |
- (reinterpret_cast<Map*>(elements()) != |
- GetHeap()->one_pointer_filler_map())) { |
+ if (ElementsAreSafeToExamine()) { |
CHECK(elements()->IsUndefined() || |
elements()->IsFixedArray() || |
elements()->IsFixedDoubleArray()); |
@@ -1143,6 +1139,13 @@ void JSObject::SpillInformation::Print() { |
} |
+bool JSObject::ElementsAreSafeToExamine() { |
+ return (FLAG_use_gvn && FLAG_use_allocation_folding) || |
+ reinterpret_cast<Map*>(elements()) != |
+ GetHeap()->one_pointer_filler_map(); |
+} |
+ |
+ |
bool DescriptorArray::IsSortedNoDuplicates(int valid_entries) { |
if (valid_entries == -1) valid_entries = number_of_descriptors(); |
Name* current_key = NULL; |