[maglev] Add safepoints for deferred calls
Add a concept of "register snapshots" which snapshot the end-state of the register allocation for a node (i.e. the state of the register allocation when the node's code completes). These can be requested by nodes, so that they know which registers need to be kept alive by the node, and which of those are tagged. Nodes can then use this information to temporarily spill registers across a deferred call, without requiring the register allocator to spill them unconditionally on the non-deferred path. The maglev safepoint table has support for these additional spilled registers. Bug: v8:7700 Change-Id: Id0052b5da86dd263f9019b1433fe5994a472a5b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3751203 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#81614}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment