-
Leszek Swirski authored
Maglev groups all its tagged spill slots together, and the number of them doesn't change. This means that the generality of the existing safepoint mechanism is massive overkill for maglev code. This patch adds a maglev-specific safepoint table, which is the safepoint of a code object if-and-only-if that code object has maglev code. This safepoint stores the number of tagged and untagged slots once, globally, and individual entries are just used for deopts and for storing the state of pushed registers (this is currently unused, but will be used in the future for pushing registers in deferred calls). Bug: v8:7700 Change-Id: I15f84a6e957357825e84e33238f8a36f2e0b3012 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3747858 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#81564}
76356780