ladybird/Libraries
Aliaksandr Kalenik 81b6a1100e LibJS: Skip iterator result object allocation in for..of and for..in
Introduce special instruction for `for..of` and `for..in` loop that
skips `{ value, done }` result object allocation if iterator is builtin
(array, map, set, string). This reduces GC pressure significantly and
avoids extracting the `value` and `done` properties.

This change makes this micro benchmark 48% faster on my computer:
```js
const arr = new Array(10_000_000);
let counter = 0;
for (let _ of arr) {
    counter++;
}
```
2025-04-30 20:51:39 +02:00
..
LibCompress LibCompress: Refactor deflate de/compressor using zlib 2025-03-19 13:46:50 +01:00
LibCore LibCore+LibWebView: Restore was_exit_requested to EventLoop 2025-04-30 11:12:23 -04:00
LibCrypto LibCrypto: Remove unused big numbers modular functions 2025-04-28 12:05:26 +02:00
LibDevTools LibDevTools+LibWebView+WebContent: Report exceptions to DevTools 2025-03-27 14:14:02 +00:00
LibDiff Everywhere: Remove sv suffix from format string literals 2025-04-08 20:00:18 -04:00
LibDNS LibCore: Don't discard subsequent results in Socket::resolve_host 2025-02-28 15:14:35 +01:00
LibFileSystem
LibGC LibGC: Allow move-assigning RootVector instances 2025-04-19 02:03:43 +02:00
LibGfx LibWeb+LibGfx: Support alpha in CanvasRenderingContext2D 2025-04-29 13:51:23 +02:00
LibHTTP LibURL: Rename 'cannot have a base URL' to 'has an opaque path' 2025-04-06 08:24:54 -04:00
LibIDL LibIDL+LibWeb: Begin support for async iterator in IDL 2025-04-14 17:43:11 -04:00
LibImageDecoderClient Everywhere: Make TransportSocket non-movable 2025-04-09 15:27:52 +02:00
LibIPC LibIPC: Don't verify that socket is closed when getting EPIPE on send 2025-04-30 11:12:23 -04:00
LibJS LibJS: Skip iterator result object allocation in for..of and for..in 2025-04-30 20:51:39 +02:00
LibLine
LibMain
LibMedia Everywhere: Remove unused private fields 2025-04-04 12:40:07 +02:00
LibRegex LibRegex: Use the right offset when patching jumps through fork-trees 2025-04-27 12:16:15 +02:00
LibRequests LibRequests+RequestServer: Add an error code for bad content encoding 2025-04-20 16:50:37 +02:00
LibRIFF
LibSyntax
LibTest LibJS+LibWeb: Do not return error from VM::create 2025-04-25 14:07:51 +02:00
LibTextCodec AK+LibTextCodec: Stop using Utf16View endianness override 2025-04-16 10:04:50 +02:00
LibThreading LibThreading: Clean up pthread mutex attributes and mutex itself 2025-02-20 15:04:50 -07:00
LibTLS LibTLS: Call close() when we receive SSL_ERROR_ZERO_RETURN 2025-04-14 21:07:42 +02:00
LibUnicode LibUnicode: Avoid rejecting end-of-text position as a valid boundary 2025-04-11 15:30:17 -04:00
LibURL LibURL: Remove URL's valid state 2025-04-19 07:18:43 -04:00
LibWasm LibWasm: Make traps hold on to externally-managed data 2025-04-22 08:43:46 -06:00
LibWeb LibWeb: Support interpolating translate values 2025-04-30 19:36:56 +02:00
LibWebSocket LibWebSocket: Remove meaningless const&& Message constructor 2025-03-09 11:14:20 -04:00
LibWebView LibCore+LibWebView: Restore was_exit_requested to EventLoop 2025-04-30 11:12:23 -04:00
LibXML