ladybird/Tests/LibJS/Runtime/builtins
Andreas Kling 73812e12d2 LibJS: Fast path Array.prototype.indexOf on packed arrays
Skip the generic HasProperty and Get loop when indexOf operates on a
simple packed array. In that case every index below length is an own
data property, so a direct scan of the packed indexed property storage
gives the same strict-equality result without the per-element property
lookup
ceremony.

Only use the fast path when the current packed storage size still
matches the length captured before fromIndex coercion, since that
coercion can run user code and mutate the receiver. Add coverage for
length and storage mutations during fromIndex coercion.
2026-04-27 08:39:37 +02:00
..
AggregateError LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Array LibJS: Fast path Array.prototype.indexOf on packed arrays 2026-04-27 08:39:37 +02:00
ArrayBuffer LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
AsyncDisposableStack LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
AsyncGenerator LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Atomics LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
BigInt LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Boolean LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
DataView LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Date LibJS: Handle time zone gaps in JS::utc_time 2026-03-20 14:46:46 +01:00
DisposableStack LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Error LibJS: Fix phantom source map entries from assembly-time optimizations 2026-02-15 23:21:46 +01:00
FinalizationRegistry LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Function Everywhere: Remove ShadowRealm support 2026-04-05 13:57:58 +02:00
functions LibJS: Reject surrogate code points in URI decoding 2026-02-14 17:29:13 +01:00
Infinity LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Intl LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
Iterator LibJS: Implement Iterator.zipKeyed 2026-02-26 13:54:35 -05:00
JSON LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Map LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Math LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
NaN LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Number Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
Object LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Promise LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Proxy LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Reflect LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
RegExp LibJS: Use Substring for legacy regexp statics 2026-04-11 00:35:36 +02:00
Set LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
ShadowRealm Everywhere: Remove ShadowRealm support 2026-04-05 13:57:58 +02:00
SharedArrayBuffer LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String LibJS: Use Substring for regexp results 2026-04-11 00:35:36 +02:00
SuppressedError LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Symbol LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
Temporal LibJS+LibUnicode: Update icu4x's calendar module to 2.2.0 2026-04-14 18:12:31 -04:00
TypedArray LibJS: Fast-path Float32Array indexed access 2026-03-19 09:42:04 +01:00
WeakMap LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
WeakRef LibJS: Handle AsmInt returns without C++ helpers 2026-04-14 08:14:43 +02:00
WeakSet LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00