[maglev] Keep an array of free registers and a vector of stack slots
Instead of scanning the array of registers, keep an explicit list of free registers. Stack slots are equally changed to use an std::vector of free slots instead of a linked list. Now we only need to scan - the list of free registers when we want to allocate a specific register, - and scan the list of allocated registers to see if the free value is already in a different register, - scan the list of allocated registers to free some register if we don't have enough registers (for input, output, or temp). Bug: v8:7700 Change-Id: Iff41b06aae656b59e4ed25e9066671a21660a73e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3489487Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#79278}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment