1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:18:13 +00:00

LibJS: Preallocate the list returned from CreateListFromArrayLike

This list has up to 10,000 elements in some test262 tests, so let's
avoid frequent allocation bumps.
This commit is contained in:
Timothy Flynn 2022-03-09 15:34:06 -05:00 committed by Andreas Kling
parent c12cfe83b7
commit f37fbcf516

View file

@ -115,6 +115,7 @@ ThrowCompletionOr<MarkedVector<Value>> create_list_from_array_like(GlobalObject&
// 4. Let list be a new empty List.
auto list = MarkedVector<Value> { heap };
list.ensure_capacity(length);
// 5. Let index be 0.
// 6. Repeat, while index < len,
@ -130,7 +131,7 @@ ThrowCompletionOr<MarkedVector<Value>> create_list_from_array_like(GlobalObject&
TRY(check_value(next));
// d. Append next as the last element of list.
list.append(next);
list.unchecked_append(next);
}
// 7. Return list.