Lines Matching defs:object
91 Handle<JSReceiver> object, KeyCollectionMode mode, PropertyFilter filter,
93 Isolate* isolate = object->GetIsolate();
94 FastKeyAccumulator accumulator(isolate, object, mode, filter, is_for_in,
230 // https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
239 Handle<JSReceiver> object) {
243 if (mode_ == KeyCollectionMode::kOwnOnly && object->IsJSProxy()) {
244 MAYBE_RETURN(CollectOwnJSProxyKeys(receiver, Handle<JSProxy>::cast(object)),
252 for (PrototypeIterator iter(isolate_, object, kStartAtReceiver, end);
303 void TrySettingEmptyEnumCache(JSReceiver object) {
304 Map map = object.map();
309 DCHECK(object.IsJSObject());
313 bool CheckAndInitalizeEmptyEnumCache(JSReceiver object) {
314 if (object.map().EnumLength() == kInvalidEnumCacheSentinel) {
315 TrySettingEmptyEnumCache(object);
317 if (object.map().EnumLength() != 0) return false;
318 DCHECK(object.IsJSObject());
319 return !JSObject::cast(object).HasEnumerableElements();
372 Handle<JSObject> object) {
373 Handle<Map> map(object->map(), isolate);
448 Handle<JSObject> object,
452 ElementsAccessor* accessor = object->GetElementsAccessor();
454 keys = GetFastEnumPropertyKeys(isolate, object);
457 keys = KeyAccumulator::GetOwnEnumPropertyKeys(isolate, object);
465 accessor->PrependElementIndices(object, keys, convert, ONLY_ENUMERABLE);
508 Handle<JSObject> object = Handle<JSObject>::cast(receiver_);
512 return GetOwnKeysWithElements<false>(isolate_, object, keys_conversion,
525 object->map().EnumLength() != kInvalidEnumCacheSentinel;
531 return GetOwnKeysWithElements<true>(isolate_, object, keys_conversion,
537 Handle<JSObject> object = Handle<JSObject>::cast(receiver_);
539 Map map = object->map();
540 if (object->elements() != ReadOnlyRoots(isolate_).empty_fixed_array() &&
541 object->elements() !=
553 Handle<FixedArray> keys = GetFastEnumPropertyKeys(isolate_, object);
625 JSObject object = JSObject::cast(receiver);
626 if (object.HasEnumerableElements()) return true;
627 if (object.HasIndexedInterceptor()) return true;
633 Handle<JSObject> object = Handle<JSObject>::cast(receiver);
634 if (!object->HasFastProperties()) return false;
635 if (object->HasNamedInterceptor()) return false;
636 if (object->IsAccessCheckNeeded() &&
637 !isolate_->MayAccess(handle(isolate_->context(), isolate_), object)) {
658 Handle<JSReceiver> receiver, Handle<JSObject> object,
670 *object, Just(kDontThrow));
697 Handle<JSReceiver> receiver, Handle<JSObject> object,
700 *object, Just(kDontThrow));
717 receiver, object, interceptor, result, type));
726 Handle<JSObject> object,
729 if (!object->HasIndexedInterceptor()) return Just(true);
731 if (!object->HasNamedInterceptor()) return Just(true);
734 ? object->GetIndexedInterceptor()
735 : object->GetNamedInterceptor(),
740 return CollectInterceptorKeysInternal(receiver, object, interceptor, type);
744 Handle<JSReceiver> receiver, Handle<JSObject> object) {
747 ElementsAccessor* accessor = object->GetElementsAccessor();
749 accessor->CollectElementIndices(object, this));
750 return CollectInterceptorKeys(receiver, object, kIndexed);
757 Handle<JSObject> object, KeyAccumulator* keys,
893 Handle<JSObject> object,
981 Handle<JSObject> object) {
984 if (object->HasFastProperties()) {
985 enum_keys = KeyAccumulator::GetOwnEnumPropertyKeys(isolate_, object);
988 Map map = object->map();
1002 } else if (object->IsJSGlobalObject()) {
1004 isolate_, mode_, this, object,
1005 JSGlobalObject::cast(*object).global_dictionary(kAcquireLoad));
1008 isolate_, mode_, this, object, object->property_dictionary_swiss());
1011 isolate_, mode_, this, object, object->property_dictionary());
1013 if (object->IsJSModuleNamespace()) {
1018 if (Handle<JSModuleNamespace>::cast(object)
1027 if (object->HasFastProperties()) {
1028 int limit = object->map().NumberOfOwnDescriptors();
1030 object->map().instance_descriptors(isolate_), isolate_);
1033 CollectOwnPropertyNamesInternal<true>(object, this, descs, 0, limit);
1038 object, this, descs, first_symbol.value(), limit));
1040 } else if (object->IsJSGlobalObject()) {
1042 handle(JSGlobalObject::cast(*object).global_dictionary(kAcquireLoad),
1047 handle(object->property_dictionary_swiss(), isolate_), this));
1050 handle(object->property_dictionary(), isolate_), this));
1054 return CollectInterceptorKeys(receiver, object, kNamed);
1058 Handle<JSObject> object) {
1060 if (object->HasFastProperties()) {
1061 int limit = object->map().NumberOfOwnDescriptors();
1062 Handle<DescriptorArray> descs(object->map().instance_descriptors(isolate_),
1064 CollectOwnPropertyNamesInternal<false>(object, this, descs, 0, limit);
1065 } else if (object->IsJSGlobalObject()) {
1067 handle(JSGlobalObject::cast(*object).global_dictionary(kAcquireLoad),
1072 handle(object->property_dictionary_swiss(), isolate_), this));
1075 handle(object->property_dictionary(), isolate_), this));
1082 Handle<JSObject> object) {
1085 receiver, object,
1094 receiver, object,
1105 Handle<JSObject> object) {
1107 if (object->IsAccessCheckNeeded() &&
1108 !isolate_->MayAccess(handle(isolate_->context(), isolate_), object)) {
1119 AccessCheckInfo maybe_info = AccessCheckInfo::Get(isolate_, object);
1128 receiver, object),
1135 RETURN_NOTHING_IF_NOT_SUCCESSFUL(CollectPrivateNames(receiver, object));
1140 MAYBE_RETURN(CollectOwnElementIndices(receiver, object), Nothing<bool>());
1142 MAYBE_RETURN(CollectOwnPropertyNames(receiver, object), Nothing<bool>());
1148 Isolate* isolate, Handle<JSObject> object) {
1149 if (object->HasFastProperties()) {
1150 return GetFastEnumPropertyKeys(isolate, object);
1151 } else if (object->IsJSGlobalObject()) {
1153 isolate, KeyCollectionMode::kOwnOnly, nullptr, object,
1154 JSGlobalObject::cast(*object).global_dictionary(kAcquireLoad));
1157 isolate, KeyCollectionMode::kOwnOnly, nullptr, object,
1158 object->property_dictionary_swiss());
1161 isolate, KeyCollectionMode::kOwnOnly, nullptr, object,
1162 object->property_dictionary());
1183 // ES6 #sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys