Commit 2877a2ad authored by Yu Yin's avatar Yu Yin Committed by Commit Bot

[mips][wasm] Fix saved parameter register

Change-Id: Ic18995af870c41852d5b10dbe5adead7bb36d37e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043611
Auto-Submit: Yu Yin <xwafish@gmail.com>
Commit-Queue: Yu Yin <xwafish@gmail.com>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66169}
parent 7fa19160
......@@ -2398,7 +2398,7 @@ void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
// Save all parameter registers (see wasm-linkage.cc). They might be
// overwritten in the runtime call below. We don't have any callee-saved
// registers in wasm, so no need to store anything else.
constexpr RegList gp_regs = Register::ListOf(a0, a1, a2, a3);
constexpr RegList gp_regs = Register::ListOf(a0, a2, a3);
constexpr RegList fp_regs =
DoubleRegister::ListOf(f2, f4, f6, f8, f10, f12, f14);
__ MultiPush(gp_regs);
......@@ -2428,10 +2428,10 @@ void Builtins::Generate_WasmDebugBreak(MacroAssembler* masm) {
// Save all parameter registers. They might hold live values, we restore
// them after the runtime call.
RegList gp_regs = 0;
for (Register reg : wasm::kGpParamRegisters) gp_regs |= reg.bit();
RegList fp_regs = 0;
for (DoubleRegister reg : wasm::kFpParamRegisters) fp_regs |= reg.bit();
constexpr RegList gp_regs =
Register::ListOf(a0, a2, a3, v0, v1);
constexpr RegList fp_regs =
DoubleRegister::ListOf(f2, f4, f6, f8, f10, f12, f14);
__ MultiPush(gp_regs);
__ MultiPushFPU(fp_regs);
......
......@@ -2437,7 +2437,7 @@ void Builtins::Generate_WasmCompileLazy(MacroAssembler* masm) {
// overwritten in the runtime call below. We don't have any callee-saved
// registers in wasm, so no need to store anything else.
constexpr RegList gp_regs =
Register::ListOf(a0, a1, a2, a3, a4, a5, a6, a7);
Register::ListOf(a0, a2, a3, a4, a5, a6, a7);
constexpr RegList fp_regs =
DoubleRegister::ListOf(f2, f4, f6, f8, f10, f12, f14);
__ MultiPush(gp_regs);
......@@ -2467,10 +2467,10 @@ void Builtins::Generate_WasmDebugBreak(MacroAssembler* masm) {
// Save all parameter registers. They might hold live values, we restore
// them after the runtime call.
RegList gp_regs = 0;
for (Register reg : wasm::kGpParamRegisters) gp_regs |= reg.bit();
RegList fp_regs = 0;
for (DoubleRegister reg : wasm::kFpParamRegisters) fp_regs |= reg.bit();
constexpr RegList gp_regs =
Register::ListOf(a0, a2, a3, a4, a5, a6, a7, v0, v1);
constexpr RegList fp_regs =
DoubleRegister::ListOf(f2, f4, f6, f8, f10, f12, f14);
__ MultiPush(gp_regs);
__ MultiPushFPU(fp_regs);
......
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