Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 5ad593bfa6630d6fe0df69e71a15f6d8efe4a722..e23c1717cf213d7bb14d11c28c397ed0ddad38a6 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -145,13 +145,14 @@ TYPE_CHECKER(HeapNumber, HEAP_NUMBER_TYPE) |
TYPE_CHECKER(JSArgumentsObject, JS_ARGUMENTS_TYPE) |
TYPE_CHECKER(JSArray, JS_ARRAY_TYPE) |
TYPE_CHECKER(JSArrayBuffer, JS_ARRAY_BUFFER_TYPE) |
+TYPE_CHECKER(JSAsyncFromSyncIterator, JS_ASYNC_FROM_SYNC_ITERATOR_TYPE) |
+TYPE_CHECKER(JSAsyncGeneratorObject, JS_ASYNC_GENERATOR_OBJECT_TYPE) |
TYPE_CHECKER(JSBoundFunction, JS_BOUND_FUNCTION_TYPE) |
TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE) |
TYPE_CHECKER(JSDataView, JS_DATA_VIEW_TYPE) |
TYPE_CHECKER(JSDate, JS_DATE_TYPE) |
TYPE_CHECKER(JSError, JS_ERROR_TYPE) |
TYPE_CHECKER(JSFunction, JS_FUNCTION_TYPE) |
-TYPE_CHECKER(JSGeneratorObject, JS_GENERATOR_OBJECT_TYPE) |
TYPE_CHECKER(JSGlobalObject, JS_GLOBAL_OBJECT_TYPE) |
TYPE_CHECKER(JSMap, JS_MAP_TYPE) |
TYPE_CHECKER(JSMapIterator, JS_MAP_ITERATOR_TYPE) |
@@ -200,6 +201,11 @@ bool HeapObject::IsExternal() const { |
return map() == GetHeap()->external_map(); |
} |
+bool HeapObject::IsJSGeneratorObject() const { |
+ return map()->instance_type() == JS_GENERATOR_OBJECT_TYPE || |
+ IsJSAsyncGeneratorObject(); |
+} |
+ |
#define SIMD128_TYPE_CHECKER(TYPE, Type, type, lane_count, lane_type) \ |
bool HeapObject::Is##Type() const { return map() == GetHeap()->type##_map(); } |
SIMD128_TYPES(SIMD128_TYPE_CHECKER) |
@@ -647,11 +653,13 @@ CAST_ACCESSOR(Int8x16) |
CAST_ACCESSOR(JSArray) |
CAST_ACCESSOR(JSArrayBuffer) |
CAST_ACCESSOR(JSArrayBufferView) |
+CAST_ACCESSOR(JSAsyncFromSyncIterator) |
CAST_ACCESSOR(JSBoundFunction) |
CAST_ACCESSOR(JSDataView) |
CAST_ACCESSOR(JSDate) |
CAST_ACCESSOR(JSFunction) |
CAST_ACCESSOR(JSGeneratorObject) |
+CAST_ACCESSOR(JSAsyncGeneratorObject) |
CAST_ACCESSOR(JSGlobalObject) |
CAST_ACCESSOR(JSGlobalProxy) |
CAST_ACCESSOR(JSMap) |
@@ -2169,6 +2177,8 @@ int JSObject::GetHeaderSize(InstanceType type) { |
return JSObject::kHeaderSize; |
case JS_GENERATOR_OBJECT_TYPE: |
return JSGeneratorObject::kSize; |
+ case JS_ASYNC_GENERATOR_OBJECT_TYPE: |
+ return JSAsyncGeneratorObject::kSize; |
case JS_GLOBAL_PROXY_TYPE: |
return JSGlobalProxy::kSize; |
case JS_GLOBAL_OBJECT_TYPE: |
@@ -5770,6 +5780,11 @@ SMI_ACCESSORS(PromiseReactionJobInfo, debug_id, kDebugIdOffset); |
SMI_ACCESSORS(PromiseReactionJobInfo, debug_name, kDebugNameOffset); |
ACCESSORS(PromiseReactionJobInfo, context, Context, kContextOffset); |
+ACCESSORS(AsyncGeneratorRequest, next, Object, kNextOffset) |
+SMI_ACCESSORS(AsyncGeneratorRequest, resume_mode, kResumeModeOffset) |
+ACCESSORS(AsyncGeneratorRequest, value, Object, kValueOffset) |
+ACCESSORS(AsyncGeneratorRequest, promise, Object, kPromiseOffset) |
+ |
Map* PrototypeInfo::ObjectCreateMap() { |
return Map::cast(WeakCell::cast(object_create_map())->value()); |
} |
@@ -6802,6 +6817,11 @@ bool JSGeneratorObject::is_executing() const { |
return continuation() == kGeneratorExecuting; |
} |
+ACCESSORS(JSAsyncGeneratorObject, queue, HeapObject, kQueueOffset) |
+ACCESSORS(JSAsyncGeneratorObject, await_input, Object, kAwaitInputOffset) |
+ACCESSORS(JSAsyncGeneratorObject, awaited_promise, HeapObject, |
+ kAwaitedPromiseOffset) |
+ |
ACCESSORS(JSValue, value, Object, kValueOffset) |
@@ -8410,6 +8430,9 @@ ACCESSORS(JSArrayIterator, object_map, Object, kIteratedObjectMapOffset) |
ACCESSORS(JSStringIterator, string, String, kStringOffset) |
SMI_ACCESSORS(JSStringIterator, index, kNextIndexOffset) |
+ACCESSORS(JSAsyncFromSyncIterator, sync_iterator, HeapObject, |
+ kSyncIteratorOffset) |
+ |
#undef INT_ACCESSORS |
#undef ACCESSORS |
#undef ACCESSORS_CHECKED |