Lines Matching defs:object

654   void Reconfigure(Handle<JSObject> object, Handle<FixedArrayBase> store,
657 Subclass::ReconfigureImpl(object, store, entry, value, attributes);
660 static void ReconfigureImpl(Handle<JSObject> object,
667 Maybe<bool> Add(Handle<JSObject> object, uint32_t index, Handle<Object> value,
669 return Subclass::AddImpl(object, index, value, attributes, new_capacity);
672 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
803 Handle<JSObject> object, Handle<FixedArrayBase> old_elements,
805 return ConvertElementsWithCapacity(object, old_elements, from_kind,
810 Handle<JSObject> object, Handle<FixedArrayBase> old_elements,
813 Isolate* isolate = object->GetIsolate();
834 if (IsFastPackedElementsKind(from_kind) && object->IsJSArray()) {
835 packed_size = Smi::ToInt(JSArray::cast(*object).length());
845 static Maybe<bool> TransitionElementsKindImpl(Handle<JSObject> object,
847 Isolate* isolate = object->GetIsolate();
848 Handle<Map> from_map = handle(object->map(), isolate);
860 Handle<FixedArrayBase> from_elements(object->elements(), isolate);
861 if (object->elements() == ReadOnlyRoots(isolate).empty_fixed_array() ||
865 JSObject::MigrateToMap(isolate, object, to_map);
870 uint32_t capacity = static_cast<uint32_t>(object->elements().length());
873 object->GetIsolate(), elements,
874 ConvertElementsWithCapacity(object, from_elements, from_kind,
877 JSObject::SetMapAndElements(object, to_map, elements);
880 JSObject::PrintElementsTransition(stdout, object, from_kind,
882 handle(object->elements(), isolate));
888 static Maybe<bool> GrowCapacityAndConvertImpl(Handle<JSObject> object,
890 ElementsKind from_kind = object->GetElementsKind();
894 // prototype object, make sure all of these optimizations are invalidated.
895 object->GetIsolate()->UpdateNoElementsProtectorOnSetLength(object);
897 Handle<FixedArrayBase> old_elements(object->elements(),
898 object->GetIsolate());
905 object, old_elements, from_kind, kind(), capacity);
909 Handle<JSObject> object, Handle<FixedArrayBase> old_elements,
913 object->GetIsolate(), elements,
914 ConvertElementsWithCapacity(object, old_elements, from_kind, capacity),
920 Handle<Map> new_map = JSObject::GetElementsTransitionMap(object, to_kind);
921 JSObject::SetMapAndElements(object, new_map, elements);
924 JSObject::UpdateAllocationSite(object, to_kind);
927 JSObject::PrintElementsTransition(stdout, object, from_kind, old_elements,
933 Maybe<bool> TransitionElementsKind(Handle<JSObject> object,
935 return Subclass::TransitionElementsKindImpl(object, map);
938 Maybe<bool> GrowCapacityAndConvert(Handle<JSObject> object,
940 return Subclass::GrowCapacityAndConvertImpl(object, capacity);
943 Maybe<bool> GrowCapacity(Handle<JSObject> object, uint32_t index) final {
946 if (object->map().is_prototype_map() ||
947 object->WouldConvertToSlowElements(index)) {
950 Handle<FixedArrayBase> old_elements(object->elements(),
951 object->GetIsolate());
956 object->GetIsolate(), elements,
957 ConvertElementsWithCapacity(object, old_elements, kind(), new_capacity),
960 DCHECK_EQ(object->GetElementsKind(), kind());
963 object, kind())) {
967 object->set_elements(*elements);
1001 // copying from object with fast double elements to object with object
1039 Handle<NumberDictionary> Normalize(Handle<JSObject> object) final {
1041 object, handle(object->elements(), object->GetIsolate()));
1045 Handle<JSObject> object, Handle<FixedArrayBase> elements) {
1049 Maybe<bool> CollectValuesOrEntries(Isolate* isolate, Handle<JSObject> object,
1054 isolate, object, values_or_entries, get_entries, nof_items, filter);
1058 Isolate* isolate, Handle<JSObject> object,
1065 object, handle(object->elements(), isolate), &accumulator));
1070 ElementsKind original_elements_kind = object->GetElementsKind();
1077 DCHECK_EQ(object->GetElementsKind(), original_elements_kind);
1079 isolate, *object, object->elements(), index, filter);
1081 PropertyDetails details = Subclass::GetDetailsImpl(*object, entry);
1085 value = Subclass::GetInternalImpl(object, entry);
1088 LookupIterator it(isolate, object, index, LookupIterator::OWN);
1094 if (object->GetElementsKind() != original_elements_kind) break;
1106 object->GetElementsAccessor());
1108 isolate, *object, object->elements(), index);
1110 PropertyDetails details = accessor->GetDetails(*object, entry);
1115 LookupIterator it(isolate, object, index, LookupIterator::OWN);
1128 Handle<JSObject> object, Handle<FixedArrayBase> backing_store,
1131 return Subclass::CollectElementIndicesImpl(object, backing_store, keys);
1135 Handle<JSObject> object, Handle<FixedArrayBase> backing_store,
1139 size_t length = Subclass::GetMaxIndex(*object, *backing_store);
1144 if (Subclass::HasElementImpl(isolate, *object, i, *backing_store,
1154 Isolate* isolate, Handle<JSObject> object,
1158 size_t length = Subclass::GetMaxIndex(*object, *backing_store);
1162 if (Subclass::HasElementImpl(isolate, *object, i, *backing_store,
1181 Handle<JSObject> object, Handle<FixedArrayBase> backing_store,
1184 return Subclass::PrependElementIndicesImpl(object, backing_store, keys,
1189 Handle<JSObject> object, Handle<FixedArrayBase> backing_store,
1192 Isolate* isolate = object->GetIsolate();
1195 Subclass::GetMaxNumberOfEntries(*object, *backing_store);
1215 // large-object space which doesn't free memory on shrinking the list.
1219 Subclass::NumberOfElementsImpl(*object, *backing_store);
1231 isolate, object, backing_store,
1381 Handle<JSObject> object,
1383 return Subclass::CreateListFromArrayLikeImpl(isolate, object, length);
1387 Handle<JSObject> object,
1518 static void ReconfigureImpl(Handle<JSObject> object,
1523 if (attributes != NONE) object->RequireSlowElements(dictionary);
1533 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
1540 object->HasFastElements() || object->HasFastStringWrapperElements()
1541 ? JSObject::NormalizeElements(object)
1542 : handle(NumberDictionary::cast(object->elements()),
1543 object->GetIsolate());
1545 object->GetIsolate(), dictionary, index, value, details);
1546 new_dictionary->UpdateMaxNumberKey(index, object);
1547 if (attributes != NONE) object->RequireSlowElements(*new_dictionary);
1549 object->set_elements(*new_dictionary);
1610 Handle<JSObject> object, Handle<FixedArrayBase> backing_store,
1617 GetMaxNumberOfEntries(*object, *backing_store));
1642 Isolate* isolate, Handle<JSObject> object,
1898 static Handle<NumberDictionary> NormalizeImpl(Handle<JSObject> object,
1900 Isolate* isolate = object->GetIsolate();
1903 // Ensure that notifications fire if the array or object prototypes are
1907 isolate->UpdateNoElementsProtectorOnNormalizeElements(object);
1910 int capacity = object->GetFastElementsUsage();
1931 object);
2028 static void ReconfigureImpl(Handle<JSObject> object,
2032 Handle<NumberDictionary> dictionary = JSObject::NormalizeElements(object);
2034 dictionary->FindEntry(object->GetIsolate(), entry.as_uint32()));
2035 DictionaryElementsAccessor::ReconfigureImpl(object, dictionary, entry,
2039 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
2044 ElementsKind from_kind = object->GetElementsKind();
2048 Subclass::GetCapacityImpl(*object, object->elements()) !=
2050 MAYBE_RETURN(Subclass::GrowCapacityAndConvertImpl(object, new_capacity),
2054 JSObject::TransitionElementsKind(object, to_kind);
2058 JSObject::EnsureWritableFastElements(object);
2061 Subclass::SetImpl(object, InternalIndex(index), *value);
2378 Handle<JSObject> object,
2381 Handle<FixedArrayBase> elements(object->elements(), isolate);
2507 // object elements.
2558 Isolate* isolate, Handle<JSObject> object,
2564 Handle<FixedArray> elements(FixedArray::cast(object->elements()),
2577 FixedArray elements = FixedArray::cast(object->elements());
2653 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
2751 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
2864 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
2877 static void ReconfigureImpl(Handle<JSObject> object,
2973 Isolate* isolate, Handle<JSObject> object,
2977 FixedDoubleArray::cast(object->elements()), isolate);
3082 // Conversion of scalar value to handlified object.
3129 // warnings for the empty array or memcpy to an empty object.
3194 // warnings for the empty array or memcpy to an empty object.
3279 Isolate* isolate, Handle<JSObject> object,
3284 Handle<FixedArrayBase> elements(object->elements(), isolate);
3285 size_t length = AccessorClass::GetCapacityImpl(*object, *elements);
3288 AccessorClass::GetInternalImpl(object, InternalIndex(index));
3555 Handle<JSObject> object,
3557 Handle<JSTypedArray> typed_array = Handle<JSTypedArray>::cast(object);
4386 static Maybe<bool> TransitionElementsKindImpl(Handle<JSObject> object,
4391 static Maybe<bool> GrowCapacityAndConvertImpl(Handle<JSObject> object,
4571 Handle<JSObject> object, Handle<FixedArrayBase> backing_store,
4576 GetCapacityImpl(*object, *backing_store));
4577 DirectCollectElementIndicesImpl(isolate, object, backing_store,
4588 Isolate* isolate, Handle<JSObject> object,
4610 isolate, object, store, convert, filter, list, nof_indices,
4615 Handle<JSObject> object,
4618 DCHECK(JSObject::PrototypeHasNoElements(isolate, *object));
4619 Handle<Map> original_map(object->map(), isolate);
4621 SloppyArgumentsElements::cast(object->elements()), isolate);
4625 DCHECK_EQ(object->map(), *original_map);
4627 GetEntryForIndexImpl(isolate, *object, *elements, k, ALL_PROPERTIES);
4636 LookupIterator it(isolate, object, k, LookupIterator::OWN);
4645 if (object->map() != *original_map) {
4647 return IncludesValueSlowPath(isolate, object, value, k + 1, length);
4657 Handle<JSObject> object,
4660 DCHECK(JSObject::PrototypeHasNoElements(isolate, *object));
4661 Handle<Map> original_map(object->map(), isolate);
4663 SloppyArgumentsElements::cast(object->elements()), isolate);
4666 DCHECK_EQ(object->map(), *original_map);
4668 GetEntryForIndexImpl(isolate, *object, *elements, k, ALL_PROPERTIES);
4676 LookupIterator it(isolate, object, k, LookupIterator::OWN);
4687 if (object->map() != *original_map) {
4689 return IndexOfValueSlowPath(isolate, object, value, k + 1, length);
4707 // Elements of the arguments object in slow mode might be slow aliases.
4731 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
4735 Isolate* isolate = object->GetIsolate();
4737 SloppyArgumentsElements::cast(object->elements()), isolate);
4743 : JSObject::NormalizeElements(object);
4748 if (attributes != NONE) object->RequireSlowElements(*new_dictionary);
4755 static void ReconfigureImpl(Handle<JSObject> object,
4759 Isolate* isolate = object->GetIsolate();
4788 object->RequireSlowElements(*arguments);
4793 object, arguments, entry.adjust_down(length), value, attributes);
4817 Handle<JSObject> object, Handle<FixedArrayBase> elements) {
4819 GetArguments(object->GetIsolate(), *elements);
4820 return FastHoleyObjectElementsAccessor::NormalizeImpl(object, arguments);
4824 Handle<JSObject> object, Handle<SloppyArgumentsElements> elements,
4826 Handle<NumberDictionary> dictionary = JSObject::NormalizeElements(object);
4835 ->FindEntry(object->GetIsolate(), entry->as_uint32() - length)
4849 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
4854 Isolate* isolate = object->GetIsolate();
4856 SloppyArgumentsElements::cast(object->elements()), isolate);
4860 MAYBE_RETURN(GrowCapacityAndConvertImpl(object, new_capacity),
4874 static void ReconfigureImpl(Handle<JSObject> object,
4878 DCHECK_EQ(object->elements(), *store);
4880 SloppyArgumentsElements::cast(*store), object->GetIsolate());
4881 NormalizeArgumentsElements(object, elements, &entry);
4882 SlowSloppyArgumentsElementsAccessor::ReconfigureImpl(object, store, entry,
4901 static Maybe<bool> GrowCapacityAndConvertImpl(Handle<JSObject> object,
4903 Isolate* isolate = object->GetIsolate();
4905 SloppyArgumentsElements::cast(object->elements()), isolate);
4908 ElementsKind from_kind = object->GetElementsKind();
4916 ConvertElementsWithCapacity(object, old_arguments, from_kind, capacity),
4919 object, FAST_SLOPPY_ARGUMENTS_ELEMENTS);
4920 JSObject::MigrateToMap(isolate, object, new_map);
4922 JSObject::ValidateElements(*object);
4996 static Maybe<bool> AddImpl(Handle<JSObject> object, uint32_t index,
5000 DCHECK(index >= static_cast<uint32_t>(GetString(*object).length()));
5004 (object->GetElementsKind() == SLOW_STRING_WRAPPER_ELEMENTS ||
5005 BackingStoreAccessor::GetCapacityImpl(*object, object->elements()) !=
5007 MAYBE_RETURN(GrowCapacityAndConvertImpl(object, new_capacity),
5010 BackingStoreAccessor::AddImpl(object, index, value, attributes,
5015 static void ReconfigureImpl(Handle<JSObject> object,
5019 uint32_t length = static_cast<uint32_t>(GetString(*object).length());
5024 object, store, entry.adjust_down(length), value, attributes);
5045 Handle<JSObject> object, Handle<FixedArrayBase> backing_store,
5047 uint32_t length = GetString(*object).length();
5053 return BackingStoreAccessor::CollectElementIndicesImpl(object,
5057 static Maybe<bool> GrowCapacityAndConvertImpl(Handle<JSObject> object,
5059 Handle<FixedArrayBase> old_elements(object->elements(),
5060 object->GetIsolate());
5061 ElementsKind from_kind = object->GetElementsKind();
5065 // initial String.prototype object, make sure all the optimizations
5067 object->GetIsolate()->UpdateNoElementsProtectorOnSetLength(object);
5074 object, old_elements, from_kind, FAST_STRING_WRAPPER_ELEMENTS,
5093 static uint32_t NumberOfElementsImpl(JSObject object,
5095 uint32_t length = GetString(object).length();
5097 BackingStoreAccessor::NumberOfElementsImpl(object, backing_store);
5115 Handle<JSObject> object, Handle<FixedArrayBase> elements) {
5116 return FastHoleyObjectElementsAccessor::NormalizeImpl(object, elements);