diff options
Diffstat (limited to 'chromium/v8/src/objects-debug.cc')
-rw-r--r-- | chromium/v8/src/objects-debug.cc | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/chromium/v8/src/objects-debug.cc b/chromium/v8/src/objects-debug.cc index 8a2b9eb2ad6..ce075bf237e 100644 --- a/chromium/v8/src/objects-debug.cc +++ b/chromium/v8/src/objects-debug.cc @@ -114,6 +114,9 @@ void HeapObject::HeapObjectVerify() { case JS_GENERATOR_OBJECT_TYPE: JSGeneratorObject::cast(this)->JSGeneratorObjectVerify(); break; + case JS_ASYNC_GENERATOR_OBJECT_TYPE: + JSAsyncGeneratorObject::cast(this)->JSAsyncGeneratorObjectVerify(); + break; case JS_VALUE_TYPE: JSValue::cast(this)->JSValueVerify(); break; @@ -483,6 +486,12 @@ void JSGeneratorObject::JSGeneratorObjectVerify() { VerifyObjectField(kContinuationOffset); } +void JSAsyncGeneratorObject::JSAsyncGeneratorObjectVerify() { + // Check inherited fields + JSGeneratorObjectVerify(); + VerifyObjectField(kQueueOffset); + queue()->HeapObjectVerify(); +} void JSValue::JSValueVerify() { Object* v = value(); @@ -694,8 +703,6 @@ void Oddball::OddballVerify() { this == heap->false_value()); } else if (map() == heap->uninitialized_map()) { CHECK(this == heap->uninitialized_value()); - } else if (map() == heap->no_interceptor_result_sentinel_map()) { - CHECK(this == heap->no_interceptor_result_sentinel()); } else if (map() == heap->arguments_marker_map()) { CHECK(this == heap->arguments_marker()); } else if (map() == heap->termination_exception_map()) { @@ -1069,6 +1076,17 @@ void PromiseReactionJobInfo::PromiseReactionJobInfoVerify() { CHECK(context()->IsContext()); } +void AsyncGeneratorRequest::AsyncGeneratorRequestVerify() { + CHECK(IsAsyncGeneratorRequest()); + VerifySmiField(kResumeModeOffset); + CHECK_GE(resume_mode(), JSGeneratorObject::kNext); + CHECK_LE(resume_mode(), JSGeneratorObject::kThrow); + CHECK(promise()->IsJSPromise()); + VerifyPointer(value()); + VerifyPointer(next()); + next()->ObjectVerify(); +} + void JSModuleNamespace::JSModuleNamespaceVerify() { CHECK(IsJSModuleNamespace()); VerifyPointer(module()); @@ -1100,6 +1118,7 @@ void Module::ModuleVerify() { VerifyPointer(module_namespace()); VerifyPointer(requested_modules()); VerifySmiField(kHashOffset); + VerifySmiField(kStatusOffset); CHECK((!instantiated() && code()->IsSharedFunctionInfo()) || (instantiated() && !evaluated() && code()->IsJSFunction()) || @@ -1108,12 +1127,17 @@ void Module::ModuleVerify() { CHECK(module_namespace()->IsUndefined(GetIsolate()) || module_namespace()->IsJSModuleNamespace()); if (module_namespace()->IsJSModuleNamespace()) { + CHECK(instantiated()); CHECK_EQ(JSModuleNamespace::cast(module_namespace())->module(), this); } CHECK_EQ(requested_modules()->length(), info()->module_requests()->length()); CHECK_NE(hash(), 0); + + CHECK_LE(kUnprepared, status()); + CHECK_LE(status(), kPrepared); + CHECK_IMPLIES(instantiated(), status() == kPrepared); } void PrototypeInfo::PrototypeInfoVerify() { @@ -1278,6 +1302,13 @@ void BreakPointInfo::BreakPointInfoVerify() { CHECK(IsBreakPointInfo()); VerifyPointer(break_point_objects()); } + +void StackFrameInfo::StackFrameInfoVerify() { + CHECK(IsStackFrameInfo()); + VerifyPointer(script_name()); + VerifyPointer(script_name_or_source_url()); + VerifyPointer(function_name()); +} #endif // VERIFY_HEAP #ifdef DEBUG |