| Index: src/objects-debug.cc
|
| ===================================================================
|
| --- src/objects-debug.cc (revision 6800)
|
| +++ src/objects-debug.cc (working copy)
|
| @@ -158,6 +158,9 @@
|
| case SHARED_FUNCTION_INFO_TYPE:
|
| SharedFunctionInfo::cast(this)->SharedFunctionInfoVerify();
|
| break;
|
| + case JS_MESSAGE_OBJECT_TYPE:
|
| + JSMessageObject::cast(this)->JSMessageObjectVerify();
|
| + break;
|
|
|
| #define MAKE_STRUCT_CASE(NAME, Name, name) \
|
| case NAME##_TYPE: \
|
| @@ -296,6 +299,19 @@
|
| }
|
|
|
|
|
| +void JSMessageObject::JSMessageObjectVerify() {
|
| + CHECK(IsJSMessageObject());
|
| + CHECK(type()->IsString());
|
| + CHECK(arguments()->IsJSArray());
|
| + VerifyObjectField(kStartPositionOffset);
|
| + VerifyObjectField(kEndPositionOffset);
|
| + VerifyObjectField(kArgumentsOffset);
|
| + VerifyObjectField(kScriptOffset);
|
| + VerifyObjectField(kStackTraceOffset);
|
| + VerifyObjectField(kStackFramesOffset);
|
| +}
|
| +
|
| +
|
| void String::StringVerify() {
|
| CHECK(IsString());
|
| CHECK(length() >= 0 && length() <= Smi::kMaxValue);
|
| @@ -368,8 +384,10 @@
|
| } else {
|
| ASSERT(number->IsSmi());
|
| int value = Smi::cast(number)->value();
|
| - ASSERT(value == 0 || value == 1 || value == -1 ||
|
| - value == -2 || value == -3);
|
| + // Hidden oddballs have negative smis.
|
| + const int kLeastHiddenOddballNumber = -4;
|
| + ASSERT(value <= 1);
|
| + ASSERT(value >= kLeastHiddenOddballNumber);
|
| }
|
| }
|
|
|
| @@ -422,7 +440,7 @@
|
| ASSERT(ascii_data->IsTheHole() || ascii_data->IsJSObject() ||
|
| (is_native ? ascii_data->IsCode() : ascii_data->IsByteArray()));
|
| Object* uc16_data = arr->get(JSRegExp::kIrregexpUC16CodeIndex);
|
| - ASSERT(uc16_data->IsTheHole() || ascii_data->IsJSObject() ||
|
| + ASSERT(uc16_data->IsTheHole() || uc16_data->IsJSObject() ||
|
| (is_native ? uc16_data->IsCode() : uc16_data->IsByteArray()));
|
| ASSERT(arr->get(JSRegExp::kIrregexpCaptureCountIndex)->IsSmi());
|
| ASSERT(arr->get(JSRegExp::kIrregexpMaxRegisterCountIndex)->IsSmi());
|
| @@ -668,7 +686,7 @@
|
|
|
| int finger = Smi::cast(get(kFingerIndex))->value();
|
| ASSERT(kEntriesIndex <= finger);
|
| - ASSERT(finger < size || finger == kEntriesIndex);
|
| + ASSERT((finger < size) || (finger == kEntriesIndex && finger == size));
|
| ASSERT_EQ(0, finger % kEntrySize);
|
|
|
| if (FLAG_enable_slow_asserts) {
|
|
|