Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: src/objects-debug.cc

Issue 2622833002: WIP [esnext] implement async iteration proposal (Closed)
Patch Set: Make (most of) for-await-of work (no IteratorClose yet..) Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/objects-debug.cc
diff --git a/src/objects-debug.cc b/src/objects-debug.cc
index ee39fdd069c43bd2b35e2ccf27ac6ef21a3a3aed..93f9f03c12c634419f81059247b254f63e5a950d 100644
--- a/src/objects-debug.cc
+++ b/src/objects-debug.cc
@@ -109,6 +109,8 @@ void HeapObject::HeapObjectVerify() {
case JS_GENERATOR_OBJECT_TYPE:
JSGeneratorObject::cast(this)->JSGeneratorObjectVerify();
break;
+ case JS_ASYNC_GENERATOR_OBJECT_TYPE:
+ JSAsyncGeneratorObject::cast(this)->JSAsyncGeneratorObjectVerify();
case JS_VALUE_TYPE:
JSValue::cast(this)->JSValueVerify();
break;
@@ -477,6 +479,12 @@ void JSGeneratorObject::JSGeneratorObjectVerify() {
VerifyObjectField(kContinuationOffset);
}
+void JSAsyncGeneratorObject::JSAsyncGeneratorObjectVerify() {
+ // Check inherited fields
+ JSGeneratorObjectVerify();
+ VerifyObjectField(kQueueOffset);
+ queue()->HeapObjectVerify();
+}
void JSValue::JSValueVerify() {
Object* v = value();
@@ -1057,6 +1065,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());

Powered by Google App Engine
This is Rietveld 408576698