Commit b8166b34 authored by Ivica Bogosavljevic's avatar Ivica Bogosavljevic Committed by Commit Bot

MIPS[64]: Fix call to PrepareCallCFunction in liftoff

In liftoff, call to PrepareCallCFunction was using at as scratch
register. This is a very bad idea, since at is later used in
underlying macro assembler

TEST=cctest/test-run-wasm-64/RunWasmLiftoff_Regression_6858

Change-Id: Ifbc43678731d2833d2faa2f20fe79ea9e3089002
Reviewed-on: https://chromium-review.googlesource.com/1030430Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
Reviewed-by: 's avatarSreten Kovacevic <sreten.kovacevic@mips.com>
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
Cr-Commit-Position: refs/heads/master@{#52814}
parent a9da85e7
......@@ -1252,9 +1252,8 @@ void LiftoffAssembler::CallC(wasm::FunctionSig* sig,
mov(kFirstArgReg, sp);
// Now call the C function.
constexpr Register kScratch = at;
constexpr int kNumCCallArgs = 1;
PrepareCallCFunction(kNumCCallArgs, kScratch);
PrepareCallCFunction(kNumCCallArgs, kScratchReg);
CallCFunction(ext_ref, kNumCCallArgs);
// Move return value to the right register.
......
......@@ -1029,9 +1029,8 @@ void LiftoffAssembler::CallC(wasm::FunctionSig* sig,
mov(kFirstArgReg, sp);
// Now call the C function.
constexpr Register kScratch = at;
constexpr int kNumCCallArgs = 1;
PrepareCallCFunction(kNumCCallArgs, kScratch);
PrepareCallCFunction(kNumCCallArgs, kScratchReg);
CallCFunction(ext_ref, kNumCCallArgs);
// Move return value to the right register.
......
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