Lines Matching defs:array

53             THROW_TYPE_ERROR_AND_RETURN(thread, "Not all array elements is configurable", false);
79 THROW_RANGE_ERROR_AND_RETURN(thread, "array length must equal or less than 2^32.", exception);
202 void JSArray::SetCapacity(JSThread *thread, const JSHandle<JSObject> &array,
205 TaggedArray *element = TaggedArray::Cast(array->GetElements().GetTaggedObject());
209 uint32_t numOfElements = array->GetNumberOfElements();
215 GetAllElementKeys(thread, array, 0, newArr);
226 array->SetElements(thread, newDict);
237 JSArray::Cast(*array)->SetArrayLength(thread, newNumOfElements);
243 // judge if need to cut down the array size, else fill the unused tail with holes
244 CheckAndCopyArray(thread, JSHandle<JSArray>(array));
245 array->FillElementsWithHoles(thread, newLen, oldLen < capacity ? oldLen : capacity);
248 JSObject::ElementsToDictionary(thread, array);
250 JSObject::GrowElementsCapacity(thread, array, newLen, isNew);
252 JSArray::Cast(*array)->SetArrayLength(thread, newLen);
254 // Update ElementsKind after reset array length.
256 if (!array->IsElementDict()) {
257 ElementsKind oldKind = array->GetClass()->GetElementsKind();
267 JSTaggedValue val = ElementAccessor::Get(array, i);
271 uint32_t oldElementsLength = ElementAccessor::GetElementsLength(array);
274 array->SetElements(thread, newTaggedArray);
275 if (!JSHClass::TransitToElementsKindUncheck(thread, array, newKind)) {
276 ASSERT(array->GetClass()->GetElementsKind() == ElementsKind::GENERIC);
279 if (JSHClass::TransitToElementsKindUncheck(thread, array, newKind)) {
280 Elements::MigrateArrayWithKind(thread, array, oldKind, newKind);
282 // For the case that array has property transition,
284 ASSERT(array->GetClass()->GetElementsKind() == ElementsKind::GENERIC);
290 bool JSArray::ArraySetLength(JSThread *thread, const JSHandle<JSObject> &array, const PropertyDescriptor &desc)
297 return JSObject::OrdinaryDefineOwnProperty(thread, array, lengthKeyHandle, desc);
305 THROW_RANGE_ERROR_AND_RETURN(thread, "array length must equal or less than 2^32.", false);
311 [[maybe_unused]] bool success = GetOwnProperty(thread, array, lengthKeyHandle, oldLenDesc);
323 return JSObject::OrdinaryDefineOwnProperty(thread, array, lengthKeyHandle, newLenDesc);
349 JSArray::SetCapacity(thread, array, oldLen, newLen);
354 success = JSObject::DefineOwnProperty(thread, array, lengthKeyHandle, readonly);
359 uint32_t arrayLength = JSArray::Cast(*array)->GetArrayLength();
369 bool JSArray::DefineOwnProperty(JSThread *thread, const JSHandle<JSObject> &array, const JSHandle<JSTaggedValue> &key,
377 return ArraySetLength(thread, array, desc);
379 // 3. Else if P is an array index, then
382 bool success = JSObject::OrdinaryDefineOwnProperty(thread, array, key, desc);
386 array->GetJSHClass()->SetHasConstructor(true);
393 bool JSArray::DefineOwnProperty(JSThread *thread, const JSHandle<JSObject> &array, uint32_t index,
396 return JSObject::OrdinaryDefineOwnProperty(thread, array, index, desc);
408 // 2. Let array be ArrayCreate(0) (see 9.4.2.2).
426 // used for array contructor with (...items)
752 // Check whether array is shared in the nonmovable space before set properties and elements.
753 // If true, then really copy array in the semi space.