ladybird/Libraries
Aliaksandr Kalenik bd6750aaa5 LibJS: Skip prototype chain lookup in internal_set() for arrays
...when Array.prototype and Object.prototype are intact.

If `internal_set()` is called on an array exotic object with a numeric
PropertyKey, and:
- the prototype chain has not been modified (i.e., there are no getters
  or setters for indexed properties), and
- the array is not the target of a Proxy object,

then we can directly store the value in the receiver's indexed
properties, without checking whether it already exists somewhere in the
prototype chain.

1.7x improvement on the following program:
```js
function f() {
    let a = [];
    let i = 0;
    while (i < 10_000_000) {
        a.push(i);
        i++;
    }
}

f();
```
2025-05-23 14:51:32 +02:00
..
LibCompress LibCompress: Refactor deflate de/compressor using zlib 2025-03-19 13:46:50 +01:00
LibCore LibCore: Increase MAX_LOCAL_SOCKET_TRANSFER_FDS 2025-05-22 08:00:01 -04:00
LibCrypto LibCrypto: Replace {Unsigned,Signed}BigInteger impl with LibTomMath 2025-05-23 11:57:21 +02:00
LibDevTools LibDevTools+LibWebView+WebContent: Report exceptions to DevTools 2025-03-27 14:14:02 +00:00
LibDiff LibDiff: Remove a bunch of unused code 2025-05-13 12:46:34 +02:00
LibDNS Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibFileSystem AK+LibCore: Avoid double-negation of syscall error values 2025-05-10 21:19:46 -04:00
LibGC Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibGfx Everywhere: Format all python files with black 2025-05-22 16:21:42 +02:00
LibHTTP LibURL: Rename 'cannot have a base URL' to 'has an opaque path' 2025-04-06 08:24:54 -04:00
LibIDL Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibImageDecoderClient Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
LibIPC LibIPC+LibWeb: Flush MessagePort messages before closing 2025-05-21 06:54:44 -04:00
LibJS LibJS: Skip prototype chain lookup in internal_set() for arrays 2025-05-23 14:51:32 +02:00
LibLine Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibMain Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
LibMedia LibMedia: Implement conversion of BT601 primaries 2025-05-16 12:13:13 +01:00
LibRegex LibRegex: Make the trie rewrite optimisation maintain the alt order 2025-05-21 14:28:45 +02:00
LibRequests Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibRIFF Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
LibSyntax Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
LibTest AK: Add initial support for AK testsuite on Windows 2025-05-20 10:58:43 -06:00
LibTextCodec Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibThreading Everywhere: Fix trivial -Wunnecessary-virtual-specifier instances 2025-05-12 11:40:45 -06:00
LibTLS LibTLS+Tests: Build LibTLS tests from their test directory 2025-05-19 18:37:15 -04:00
LibUnicode LibUnicode: Avoid rejecting end-of-text position as a valid boundary 2025-04-11 15:30:17 -04:00
LibURL Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibWasm LibWasm: Quit early in memory_fill if store_to_memory traps 2025-05-22 07:35:58 +01:00
LibWeb LibJS: Skip prototype chain lookup in internal_set() for arrays 2025-05-23 14:51:32 +02:00
LibWebSocket LibWebSocket: Remove meaningless const&& Message constructor 2025-03-09 11:14:20 -04:00
LibWebView Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
LibXML Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
CMakeLists.txt AK: Add initial support for AK testsuite on Windows 2025-05-20 10:58:43 -06:00