| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index f0021a37e716333e0d91b9fbd5fb4acb370803cf..da19b13c2a905ac4ee420af43a0dc8cf0f052c5c 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -2761,6 +2761,14 @@ void JSObject::JSObjectShortPrint(StringStream* accumulator) {
|
| accumulator->Add("<JS Generator>");
|
| break;
|
| }
|
| + case JS_ASYNC_GENERATOR_OBJECT_TYPE: {
|
| + accumulator->Add("<JS AsyncGenerator>");
|
| + break;
|
| + }
|
| + case JS_ASYNC_FROM_SYNC_ITERATOR_TYPE: {
|
| + accumulator->Add("<JS AsyncFromSyncIterator>");
|
| + break;
|
| + }
|
| // All other JSObjects are rather similar to each other (JSObject,
|
| // JSGlobalProxy, JSGlobalObject, JSUndetectable, JSValue).
|
| default: {
|
| @@ -8645,7 +8653,8 @@ Handle<Map> Map::CopyInitialMap(Handle<Map> map, int instance_size,
|
| DCHECK(*map == JSFunction::cast(constructor)->initial_map() ||
|
| *map == *isolate->strict_function_map() ||
|
| *map == *isolate->generator_function_map() ||
|
| - *map == *isolate->async_function_map());
|
| + *map == *isolate->async_function_map() ||
|
| + *map == *isolate->async_generator_function_map());
|
| #endif
|
| // Initial maps must always own their descriptors and it's descriptor array
|
| // does not contain descriptors that do not belong to the map.
|
| @@ -12611,6 +12620,8 @@ bool CanSubclassHaveInobjectProperties(InstanceType instance_type) {
|
| case JS_DATE_TYPE:
|
| case JS_FUNCTION_TYPE:
|
| case JS_GENERATOR_OBJECT_TYPE:
|
| + case JS_ASYNC_GENERATOR_OBJECT_TYPE:
|
| + case JS_ASYNC_FROM_SYNC_ITERATOR_TYPE:
|
| case JS_MAP_ITERATOR_TYPE:
|
| case JS_MAP_TYPE:
|
| case JS_MESSAGE_OBJECT_TYPE:
|
| @@ -12684,7 +12695,9 @@ void JSFunction::EnsureHasInitialMap(Handle<JSFunction> function) {
|
| // suggested by the function.
|
| InstanceType instance_type;
|
| if (IsResumableFunction(function->shared()->kind())) {
|
| - instance_type = JS_GENERATOR_OBJECT_TYPE;
|
| + instance_type = IsAsyncGeneratorFunction(function->shared()->kind())
|
| + ? JS_ASYNC_GENERATOR_OBJECT_TYPE
|
| + : JS_GENERATOR_OBJECT_TYPE;
|
| } else {
|
| instance_type = JS_OBJECT_TYPE;
|
| }
|
|
|