ladybird/Libraries/LibJS
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
..
AsmIntGen AsmIntGen: Avoid aarch64 helper-call bridge moves 2026-04-26 13:29:56 +02:00
Bytecode LibJS+AsmIntGen: Retire the positional t0..t8 / ft0..ft3 DSL aliases 2026-04-26 13:29:56 +02:00
BytecodeDef Rust: Add a config file for rustfmt 2026-04-18 08:05:47 -04:00
Contrib/Test262 LibJS: Remove gc from the global object 2026-04-24 18:36:23 +02:00
Heap LibJS: Eliminate GeneratorResult GC cell allocation on yield/await 2026-03-20 15:57:23 -05:00
Runtime LibJS: Fast path Array.prototype.indexOf on packed arrays 2026-04-27 08:39:37 +02:00
Rust LibJS: Materialize arguments object for shorthand { arguments } 2026-04-27 08:04:11 +02:00
CMakeLists.txt Meta: Move most dependency checks to check_for_dependencies.cmake 2026-04-20 16:41:29 -06:00
Console.cpp LibJS+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02:00
Console.h LibJS+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02:00
CyclicModule.cpp LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
CyclicModule.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
Forward.h LibJS: Separate raw and capturing native functions 2026-04-15 15:57:48 +02:00
LocalVariable.h LibJS: Port the Identifier AST (and related) nodes to UTF-16 2025-08-13 09:56:13 -04:00
Module.cpp LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
Module.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
ModuleEntry.h LibJS: Remove C++ AST 2026-03-19 21:55:10 -05:00
ModuleLoading.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ParserError.cpp LibJS: Port the JS lexer and parser to UTF-16 2025-08-13 09:56:13 -04:00
ParserError.h LibJS: Port the JS lexer and parser to UTF-16 2025-08-13 09:56:13 -04:00
Position.h LibJS: Store full realized SourceRange with each AST node 2025-12-29 13:36:01 +01:00
Print.cpp Everywhere: Remove ShadowRealm support 2026-04-05 13:57:58 +02:00
Print.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
RustIntegration.cpp LibJS: Precompile top-level IIFEs off-thread 2026-04-26 21:51:52 +02:00
RustIntegration.h LibWeb+LibJS: Compile fetched top-level JS off-thread 2026-04-26 21:51:52 +02:00
Script.cpp LibJS: Build functions_to_initialize in source order 2026-04-27 08:04:11 +02:00
Script.h LibWeb+LibJS: Compile fetched top-level JS off-thread 2026-04-26 21:51:52 +02:00
SourceCode.cpp LibJS: Cache ASCII-to-UTF-16 source conversion for Rust compilation 2026-02-25 00:00:52 +01:00
SourceCode.h LibJS: Cache ASCII-to-UTF-16 source conversion for Rust compilation 2026-02-25 00:00:52 +01:00
SourceRange.h LibJS: Preserve source positions in bytecode source maps 2026-04-22 22:34:54 +02:00
SourceTextModule.cpp LibWeb+LibJS: Compile fetched top-level JS off-thread 2026-04-26 21:51:52 +02:00
SourceTextModule.h LibWeb+LibJS: Compile fetched top-level JS off-thread 2026-04-26 21:51:52 +02:00
SyntaxHighlighter.cpp Meta: Remove ENABLE_RUST build configuration option 2026-04-02 22:59:42 +02:00
SyntaxHighlighter.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
SyntheticModule.cpp LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
SyntheticModule.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
Token.h LibJS: Remove C++ lexer, use Rust tokenizer for syntax highlighting 2026-03-19 21:55:10 -05:00