diff options
Diffstat (limited to 'deps/v8/src/objects-debug.cc')
-rw-r--r-- | deps/v8/src/objects-debug.cc | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/deps/v8/src/objects-debug.cc b/deps/v8/src/objects-debug.cc index 7d426a045e..3c43f23074 100644 --- a/deps/v8/src/objects-debug.cc +++ b/deps/v8/src/objects-debug.cc @@ -152,6 +152,9 @@ void HeapObject::HeapObjectVerify() { case JS_MAP_ITERATOR_TYPE: JSMapIterator::cast(this)->JSMapIteratorVerify(); break; + case JS_STRING_ITERATOR_TYPE: + JSStringIterator::cast(this)->JSStringIteratorVerify(); + break; case JS_WEAK_MAP_TYPE: JSWeakMap::cast(this)->JSWeakMapVerify(); break; @@ -562,6 +565,7 @@ void SharedFunctionInfo::SharedFunctionInfoVerify() { VerifyObjectField(kOptimizedCodeMapOffset); VerifyObjectField(kFeedbackMetadataOffset); VerifyObjectField(kScopeInfoOffset); + VerifyObjectField(kOuterScopeInfoOffset); VerifyObjectField(kInstanceClassNameOffset); CHECK(function_data()->IsUndefined(GetIsolate()) || IsApiFunction() || HasBytecodeArray() || HasAsmWasmData()); @@ -778,6 +782,14 @@ void JSWeakMap::JSWeakMapVerify() { CHECK(table()->IsHashTable() || table()->IsUndefined(GetIsolate())); } +void JSStringIterator::JSStringIteratorVerify() { + CHECK(IsJSStringIterator()); + JSObjectVerify(); + CHECK(string()->IsString()); + + CHECK_GE(index(), 0); + CHECK_LE(index(), String::kMaxLength); +} void JSWeakSet::JSWeakSetVerify() { CHECK(IsJSWeakSet()); @@ -831,7 +843,6 @@ void JSRegExp::JSRegExpVerify() { } } - void JSProxy::JSProxyVerify() { CHECK(IsJSProxy()); VerifyPointer(target()); @@ -877,9 +888,7 @@ void JSTypedArray::JSTypedArrayVerify() { CHECK(IsJSTypedArray()); JSArrayBufferViewVerify(); VerifyPointer(raw_length()); - CHECK(raw_length()->IsSmi() || raw_length()->IsHeapNumber() || - raw_length()->IsUndefined(GetIsolate())); - + CHECK(raw_length()->IsSmi() || raw_length()->IsUndefined(GetIsolate())); VerifyPointer(elements()); } @@ -900,6 +909,27 @@ void Box::BoxVerify() { value()->ObjectVerify(); } +void PromiseContainer::PromiseContainerVerify() { + CHECK(IsPromiseContainer()); + thenable()->ObjectVerify(); + then()->ObjectVerify(); + resolve()->ObjectVerify(); + reject()->ObjectVerify(); + before_debug_event()->ObjectVerify(); + after_debug_event()->ObjectVerify(); +} + +void Module::ModuleVerify() { + CHECK(IsModule()); + CHECK(code()->IsSharedFunctionInfo() || code()->IsJSFunction()); + code()->ObjectVerify(); + exports()->ObjectVerify(); + requested_modules()->ObjectVerify(); + VerifySmiField(kFlagsOffset); + embedder_data()->ObjectVerify(); + CHECK(shared()->name()->IsSymbol()); + // TODO(neis): Check more. +} void PrototypeInfo::PrototypeInfoVerify() { CHECK(IsPrototypeInfo()); @@ -911,10 +941,8 @@ void PrototypeInfo::PrototypeInfoVerify() { CHECK(validity_cell()->IsCell() || validity_cell()->IsSmi()); } - -void SloppyBlockWithEvalContextExtension:: - SloppyBlockWithEvalContextExtensionVerify() { - CHECK(IsSloppyBlockWithEvalContextExtension()); +void ContextExtension::ContextExtensionVerify() { + CHECK(IsContextExtension()); VerifyObjectField(kScopeInfoOffset); VerifyObjectField(kExtensionOffset); } |