| 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();
|
|
|