Lines Matching refs:elements
53 THROW_TYPE_ERROR_AND_RETURN(thread, "Not all array elements is configurable", false);
270 // elements length might not be zero when newLen is zero
342 // any elements cannot be deleted.
358 // Steps 19d-v, 21. Return false if there were non-deletable elements.
405 JSHandle<JSArray> JSArray::CreateArrayFromList(JSThread *thread, const JSHandle<TaggedArray> &elements)
407 // Assert: elements is a List whose elements are all ECMAScript language values.
409 uint32_t length = elements->GetLength();
411 // 4. For each element e of elements
419 obj->SetElements(thread, elements);
428 const JSHandle<TaggedArray> &elements)
430 // Assert: elements is a List whose elements are all ECMAScript language values.
431 uint32_t length = elements->GetLength();
441 // set elements with initItems
444 obj->SetElements(thread, elements);
533 // 6. Let itemCount be the number of elements in sortedList.
563 void JSArray::SortElements(JSThread *thread, const JSHandle<TaggedArray> &elements, const JSHandle<JSTaggedValue> &fn)
567 uint32_t len = elements->GetLength();
568 // 64: if the elements is more than 64, use merge-sort algorithm.
570 SortElementsByInsertionSort(thread, elements, len, fn);
572 SortElementsByMergeSort(thread, elements, fn, 0, len - 1);
576 void JSArray::SortElementsByMergeSort(JSThread *thread, const JSHandle<TaggedArray> &elements,
583 SortElementsByMergeSort(thread, elements, fn, startIdx, middleIdx);
584 SortElementsByMergeSort(thread, elements, fn, middleIdx + 1, endIdx);
585 MergeSortedElements(thread, elements, fn, startIdx, middleIdx, endIdx);
588 void JSArray::MergeSortedElements(JSThread *thread, const JSHandle<TaggedArray> &elements,
600 leftArray->Set(thread, i, elements->Get(startIdx + i));
603 rightArray->Set(thread, j, elements->Get(static_cast<int32_t>(middleIdx + 1 + j)));
617 elements->Set(thread, k, leftArray->Get(i));
620 elements->Set(thread, k, rightArray->Get(j));
627 elements->Set(thread, k, leftArray->Get(i));
633 elements->Set(thread, k, rightArray->Get(j));
639 void JSArray::SortElementsByInsertionSort(JSThread *thread, const JSHandle<TaggedArray> &elements, uint32_t len,
651 presentValue.Update(elements->Get(i));
654 middleValue.Update(elements->Get(middleIndex));
666 previousValue.Update(elements->Get(j - 1));
667 elements->Set(thread, j, previousValue);
669 elements->Set(thread, endIndex, presentValue);
752 // Check whether array is shared in the nonmovable space before set properties and elements.