Commit 3b302d5c authored by Ng Zhi An's avatar Ng Zhi An Committed by Commit Bot

[arm64] Push the full q register before lazy compile

If a lazy compilation happens in between 2 Wasm calls, we need to save
the full Q register, since we can have live v128 values.

Bug: chromium:1161555
Change-Id: I7393d6fbf5133f635a8fd62cd394323d7018f090
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2645694Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72298}
parent 3097bf78
......@@ -2697,7 +2697,7 @@ void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
constexpr RegList fp_regs =
Register::ListOf(d0, d1, d2, d3, d4, d5, d6, d7);
__ PushXRegList(gp_regs);
__ PushDRegList(fp_regs);
__ PushQRegList(fp_regs);
// Pass instance and function index as explicit arguments to the runtime
// function.
......@@ -2714,7 +2714,7 @@ void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
__ Mov(x17, kReturnRegister0);
// Restore registers.
__ PopDRegList(fp_regs);
__ PopQRegList(fp_regs);
__ PopXRegList(gp_regs);
}
// Finally, jump to the entrypoint.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment