Index: src/objects-debug.cc |
=================================================================== |
--- src/objects-debug.cc (revision 9808) |
+++ src/objects-debug.cc (working copy) |
@@ -156,6 +156,12 @@ |
case JS_ARRAY_TYPE: |
JSArray::cast(this)->JSArrayVerify(); |
break; |
+ case JS_SET_TYPE: |
+ JSSet::cast(this)->JSSetVerify(); |
+ break; |
+ case JS_MAP_TYPE: |
+ JSMap::cast(this)->JSMapVerify(); |
+ break; |
case JS_WEAK_MAP_TYPE: |
JSWeakMap::cast(this)->JSWeakMapVerify(); |
break; |
@@ -263,6 +269,12 @@ |
void JSObject::JSObjectVerify() { |
VerifyHeapPointer(properties()); |
VerifyHeapPointer(elements()); |
+ |
+ if (GetElementsKind() == NON_STRICT_ARGUMENTS_ELEMENTS) { |
+ ASSERT(this->elements()->IsFixedArray()); |
+ ASSERT(this->elements()->length() >= 2); |
+ } |
+ |
if (HasFastProperties()) { |
CHECK_EQ(map()->unused_property_fields(), |
(map()->inobject_properties() + properties()->length() - |
@@ -494,6 +506,22 @@ |
} |
+void JSSet::JSSetVerify() { |
+ CHECK(IsJSSet()); |
+ JSObjectVerify(); |
+ VerifyHeapPointer(table()); |
+ ASSERT(table()->IsHashTable() || table()->IsUndefined()); |
+} |
+ |
+ |
+void JSMap::JSMapVerify() { |
+ CHECK(IsJSMap()); |
+ JSObjectVerify(); |
+ VerifyHeapPointer(table()); |
+ ASSERT(table()->IsHashTable() || table()->IsUndefined()); |
+} |
+ |
+ |
void JSWeakMap::JSWeakMapVerify() { |
CHECK(IsJSWeakMap()); |
JSObjectVerify(); |