[maglev][arm64] Fix prologue

Modify stack pointer (instead of frame pointer) to reserve space for
untagged stack slots.

Bug: v8:7700
Change-Id: I47aa2b1cb060447e9746fe58ffb4bfa8b44d80dc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4106181
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84841}
This commit is contained in:
pthier 2022-12-14 14:16:52 +01:00 committed by V8 LUCI CQ
parent 955de73ee5
commit 39fbe7220d

View File

@ -306,9 +306,9 @@ void MaglevAssembler::Prologue(Graph* graph) {
if (remaining_stack_slots > 0) {
// Round up.
remaining_stack_slots += (remaining_stack_slots % 2);
// Extend rsp by the size of the remaining untagged part of the frame,
// Extend sp by the size of the remaining untagged part of the frame,
// no need to initialise these.
sub(fp, fp, Immediate(remaining_stack_slots * kSystemPointerSize));
sub(sp, sp, Immediate(remaining_stack_slots * kSystemPointerSize));
}
}