| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index c30e1d21951154d56773f59defbffdc954524483..ff2948979cdc8ca126b370e126be189f12d19900 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -144,13 +144,13 @@ 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(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)
|
| @@ -199,6 +199,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)
|
| @@ -646,6 +651,7 @@ CAST_ACCESSOR(JSDataView)
|
| CAST_ACCESSOR(JSDate)
|
| CAST_ACCESSOR(JSFunction)
|
| CAST_ACCESSOR(JSGeneratorObject)
|
| +CAST_ACCESSOR(JSAsyncGeneratorObject)
|
| CAST_ACCESSOR(JSGlobalObject)
|
| CAST_ACCESSOR(JSGlobalProxy)
|
| CAST_ACCESSOR(JSMap)
|
| @@ -2158,6 +2164,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:
|
| @@ -5740,6 +5748,12 @@ 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)
|
| +ACCESSORS(AsyncGeneratorRequest, awaited_promise, Object, kAwaitedPromiseOffset)
|
| +
|
| Map* PrototypeInfo::ObjectCreateMap() {
|
| return Map::cast(WeakCell::cast(object_create_map())->value());
|
| }
|
| @@ -6772,6 +6786,8 @@ bool JSGeneratorObject::is_executing() const {
|
| return continuation() == kGeneratorExecuting;
|
| }
|
|
|
| +ACCESSORS(JSAsyncGeneratorObject, queue, HeapObject, kQueueOffset)
|
| +
|
| ACCESSORS(JSValue, value, Object, kValueOffset)
|
|
|
|
|
| @@ -8409,6 +8425,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
|
|
|