mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-08 16:12:23 +02:00
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.
160 KiB
160 KiB