Index: src/objects-debug.cc |
diff --git a/src/objects-debug.cc b/src/objects-debug.cc |
index ee58f02ed12c583515d04cb32560f6ea2bf966c5..ca9ccb63960960dd3e70c35aca61151fb0d6a87b 100644 |
--- a/src/objects-debug.cc |
+++ b/src/objects-debug.cc |
@@ -76,6 +76,9 @@ void HeapObject::HeapObjectVerify() { |
case BYTECODE_ARRAY_TYPE: |
BytecodeArray::cast(this)->BytecodeArrayVerify(); |
break; |
+ case TRANSITION_ARRAY_TYPE: |
+ TransitionArray::cast(this)->TransitionArrayVerify(); |
+ break; |
case FREE_SPACE_TYPE: |
FreeSpace::cast(this)->FreeSpaceVerify(); |
break; |
@@ -407,6 +410,17 @@ void FixedDoubleArray::FixedDoubleArrayVerify() { |
} |
+void TransitionArray::TransitionArrayVerify() { |
+ for (int i = 0; i < length(); i++) { |
+ Object* e = get(i); |
+ VerifyPointer(e); |
+ } |
+ CHECK_LE(LengthFor(number_of_transitions()), length()); |
+ CHECK(next_link()->IsUndefined() || next_link()->IsSmi() || |
+ next_link()->IsTransitionArray()); |
+} |
+ |
+ |
void JSGeneratorObject::JSGeneratorObjectVerify() { |
// In an expression like "new g()", there can be a point where a generator |
// object is allocated but its fields are all undefined, as it hasn't yet been |