Index: src/objects-debug.cc |
=================================================================== |
--- src/objects-debug.cc (revision 5318) |
+++ src/objects-debug.cc (working copy) |
@@ -30,6 +30,7 @@ |
#include "disassembler.h" |
#include "disasm.h" |
#include "jsregexp.h" |
+#include "objects-visiting.h" |
namespace v8 { |
namespace internal { |
@@ -648,6 +649,17 @@ |
} |
+void Map::NormalizedMapVerify() { |
+ MapVerify(); |
+ ASSERT_EQ(Heap::empty_descriptor_array(), instance_descriptors()); |
+ ASSERT_EQ(Heap::empty_fixed_array(), code_cache()); |
+ ASSERT_EQ(0, pre_allocated_property_fields()); |
+ ASSERT_EQ(0, unused_property_fields()); |
+ ASSERT_EQ(StaticVisitorBase::GetVisitorId(instance_type(), instance_size()), |
+ visitor_id()); |
+} |
+ |
+ |
void CodeCache::CodeCachePrint() { |
HeapObject::PrintHeader("CodeCache"); |
PrintF("\n - default_cache: "); |
@@ -1363,6 +1375,21 @@ |
} |
+void NormalizedMapCache::NormalizedMapCacheVerify() { |
+ FixedArray::cast(this)->Verify(); |
+ if (FLAG_enable_slow_asserts) { |
+ for (int i = 0; i < length(); i++) { |
+ Object* e = get(i); |
+ if (e->IsMap()) { |
+ Map::cast(e)->NormalizedMapVerify(); |
+ } else { |
+ ASSERT(e->IsUndefined()); |
+ } |
+ } |
+ } |
+} |
+ |
+ |
#endif // DEBUG |
} } // namespace v8::internal |