summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects-debug.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/objects-debug.cc')
-rw-r--r--deps/v8/src/objects-debug.cc44
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);
}