Index: src/objects-debug.cc |
=================================================================== |
--- src/objects-debug.cc (revision 9531) |
+++ src/objects-debug.cc (working copy) |
@@ -94,6 +94,9 @@ |
case BYTE_ARRAY_TYPE: |
ByteArray::cast(this)->ByteArrayVerify(); |
break; |
+ case FREE_SPACE_TYPE: |
+ FreeSpace::cast(this)->FreeSpaceVerify(); |
+ break; |
case EXTERNAL_PIXEL_ARRAY_TYPE: |
ExternalPixelArray::cast(this)->ExternalPixelArrayVerify(); |
break; |
@@ -207,6 +210,11 @@ |
} |
+void FreeSpace::FreeSpaceVerify() { |
+ ASSERT(IsFreeSpace()); |
+} |
+ |
+ |
void ExternalPixelArray::ExternalPixelArrayVerify() { |
ASSERT(IsExternalPixelArray()); |
} |
@@ -260,7 +268,7 @@ |
(map()->inobject_properties() + properties()->length() - |
map()->NextFreePropertyIndex())); |
} |
- ASSERT_EQ(map()->has_fast_elements(), |
+ ASSERT_EQ((map()->has_fast_elements() || map()->has_fast_smi_only_elements()), |
(elements()->map() == GetHeap()->fixed_array_map() || |
elements()->map() == GetHeap()->fixed_cow_array_map())); |
ASSERT(map()->has_fast_elements() == HasFastElements()); |
@@ -322,7 +330,8 @@ |
double value = get_scalar(i); |
ASSERT(!isnan(value) || |
(BitCast<uint64_t>(value) == |
- BitCast<uint64_t>(canonical_not_the_hole_nan_as_double()))); |
+ BitCast<uint64_t>(canonical_not_the_hole_nan_as_double())) || |
+ ((BitCast<uint64_t>(value) & Double::kSignMask) != 0)); |
} |
} |
} |
@@ -387,6 +396,7 @@ |
CHECK(IsJSFunction()); |
VerifyObjectField(kPrototypeOrInitialMapOffset); |
VerifyObjectField(kNextFunctionLinkOffset); |
+ CHECK(code()->IsCode()); |
CHECK(next_function_link()->IsUndefined() || |
next_function_link()->IsJSFunction()); |
} |
@@ -446,9 +456,8 @@ |
} else { |
ASSERT(number->IsSmi()); |
int value = Smi::cast(number)->value(); |
+ ASSERT(value <= 1); |
// Hidden oddballs have negative smis. |
- const int kLeastHiddenOddballNumber = -4; |
- ASSERT(value <= 1); |
ASSERT(value >= kLeastHiddenOddballNumber); |
} |
} |
@@ -463,6 +472,7 @@ |
void Code::CodeVerify() { |
CHECK(IsAligned(reinterpret_cast<intptr_t>(instruction_start()), |
kCodeAlignment)); |
+ relocation_info()->Verify(); |
Address last_gc_pc = NULL; |
for (RelocIterator it(this); !it.done(); it.next()) { |
it.rinfo()->Verify(); |
@@ -488,7 +498,7 @@ |
CHECK(IsJSWeakMap()); |
JSObjectVerify(); |
VerifyHeapPointer(table()); |
- ASSERT(table()->IsHashTable()); |
+ ASSERT(table()->IsHashTable() || table()->IsUndefined()); |
} |
@@ -535,13 +545,14 @@ |
void JSProxy::JSProxyVerify() { |
- ASSERT(IsJSProxy()); |
+ CHECK(IsJSProxy()); |
VerifyPointer(handler()); |
+ ASSERT(hash()->IsSmi() || hash()->IsUndefined()); |
} |
void JSFunctionProxy::JSFunctionProxyVerify() { |
- ASSERT(IsJSFunctionProxy()); |
+ CHECK(IsJSFunctionProxy()); |
JSProxyVerify(); |
VerifyPointer(call_trap()); |
VerifyPointer(construct_trap()); |