From 996ffd5488aecb7bf2276b040ad3277bad2e546c Mon Sep 17 00:00:00 2001 From: MerryMage Date: Sat, 13 Jan 2018 18:00:39 +0000 Subject: [PATCH] a64_emit_x64: bug: A64CallSupervisor trampled callee-save registers --- src/backend_x64/a64_emit_x64.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend_x64/a64_emit_x64.cpp b/src/backend_x64/a64_emit_x64.cpp index 718fcc9c..83d81163 100644 --- a/src/backend_x64/a64_emit_x64.cpp +++ b/src/backend_x64/a64_emit_x64.cpp @@ -220,6 +220,7 @@ void A64EmitX64::EmitA64SetPC(A64EmitContext& ctx, IR::Inst* inst) { } void A64EmitX64::EmitA64CallSupervisor(A64EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(nullptr); auto args = ctx.reg_alloc.GetArgumentInfo(inst); ASSERT(args[0].IsImmediate()); u32 imm = args[0].GetImmediateU32();