ladybird/Utilities
Ali Mohammad Pur 0e5ecef848 LibWasm: Try really hard to avoid touching the value stack
This commit adds a register allocator, with 8 available "register"
slots.
In testing with various random blobs, this moves anywhere from 30% to
74% of value accesses into predefined slots, and is about a ~20% perf
increase end-to-end.

To actually make this usable, a few structural changes were also made:
- we no longer do one instruction per interpret call
- trapping is an (unlikely) exit condition
- the label and frame stacks are replaced with linked lists with a huge
  node cache size, as we only need to touch the last element and
  push/pop is very frequent.
2025-08-08 12:54:06 +02:00
..
abench.cpp Everywhere: Rename serenity_main to ladybird_main 2025-07-08 09:17:16 -04:00
CMakeLists.txt LibGfx: Remove WebP animation writer and utility 2025-08-05 11:30:20 +02:00
dns.cpp Everywhere: Rename serenity_main to ladybird_main 2025-07-08 09:17:16 -04:00
image.cpp Everywhere: Rename serenity_main to ladybird_main 2025-07-08 09:17:16 -04:00
js.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
test262-runner.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
wasm.cpp LibWasm: Try really hard to avoid touching the value stack 2025-08-08 12:54:06 +02:00
xml.cpp Everywhere: Rename serenity_main to ladybird_main 2025-07-08 09:17:16 -04:00