backend/arm64: Fix argument to AddTicks callback

This commit is contained in:
Merry 2022-12-29 20:19:26 +00:00
parent 71aae99f49
commit 11d73fedde
2 changed files with 8 additions and 8 deletions

View file

@ -575,8 +575,8 @@ void EmitIR<IR::Opcode::A32CallSupervisor>(oaknut::CodeGenerator& code, EmitCont
ctx.reg_alloc.PrepareForCall(); ctx.reg_alloc.PrepareForCall();
if (ctx.conf.enable_cycle_counting) { if (ctx.conf.enable_cycle_counting) {
code.LDR(Xscratch0, SP, offsetof(StackLayout, cycles_to_run)); code.LDR(X1, SP, offsetof(StackLayout, cycles_to_run));
code.SUB(Xscratch0, Xscratch0, Xticks); code.SUB(X1, X1, Xticks);
EmitRelocation(code, ctx, LinkTarget::AddTicks); EmitRelocation(code, ctx, LinkTarget::AddTicks);
} }
@ -596,8 +596,8 @@ void EmitIR<IR::Opcode::A32ExceptionRaised>(oaknut::CodeGenerator& code, EmitCon
ctx.reg_alloc.PrepareForCall(); ctx.reg_alloc.PrepareForCall();
if (ctx.conf.enable_cycle_counting) { if (ctx.conf.enable_cycle_counting) {
code.LDR(Xscratch0, SP, offsetof(StackLayout, cycles_to_run)); code.LDR(X1, SP, offsetof(StackLayout, cycles_to_run));
code.SUB(Xscratch0, Xscratch0, Xticks); code.SUB(X1, X1, Xticks);
EmitRelocation(code, ctx, LinkTarget::AddTicks); EmitRelocation(code, ctx, LinkTarget::AddTicks);
} }

View file

@ -359,8 +359,8 @@ void EmitIR<IR::Opcode::A64CallSupervisor>(oaknut::CodeGenerator& code, EmitCont
ctx.reg_alloc.PrepareForCall(); ctx.reg_alloc.PrepareForCall();
if (ctx.conf.enable_cycle_counting) { if (ctx.conf.enable_cycle_counting) {
code.LDR(Xscratch0, SP, offsetof(StackLayout, cycles_to_run)); code.LDR(X1, SP, offsetof(StackLayout, cycles_to_run));
code.SUB(Xscratch0, Xscratch0, Xticks); code.SUB(X1, X1, Xticks);
EmitRelocation(code, ctx, LinkTarget::AddTicks); EmitRelocation(code, ctx, LinkTarget::AddTicks);
} }
@ -380,8 +380,8 @@ void EmitIR<IR::Opcode::A64ExceptionRaised>(oaknut::CodeGenerator& code, EmitCon
ctx.reg_alloc.PrepareForCall(); ctx.reg_alloc.PrepareForCall();
if (ctx.conf.enable_cycle_counting) { if (ctx.conf.enable_cycle_counting) {
code.LDR(Xscratch0, SP, offsetof(StackLayout, cycles_to_run)); code.LDR(X1, SP, offsetof(StackLayout, cycles_to_run));
code.SUB(Xscratch0, Xscratch0, Xticks); code.SUB(X1, X1, Xticks);
EmitRelocation(code, ctx, LinkTarget::AddTicks); EmitRelocation(code, ctx, LinkTarget::AddTicks);
} }