JitArm64: Fix incorrect push size calculation
This commit is contained in:
parent
cc9a75a87b
commit
83d2d55aab
|
@ -225,7 +225,8 @@ void JitArm64::EmitBackpatchRoutine(u32 flags, bool fastmem, bool do_farcode, AR
|
||||||
if (memcheck)
|
if (memcheck)
|
||||||
{
|
{
|
||||||
const ARM64Reg temp_fpr = fprs_to_push[0] ? ARM64Reg::INVALID_REG : ARM64Reg::Q0;
|
const ARM64Reg temp_fpr = fprs_to_push[0] ? ARM64Reg::INVALID_REG : ARM64Reg::Q0;
|
||||||
const u64 early_push_size = Common::AlignUp(gprs_to_push_early.Count(), 2) * 8;
|
const u64 early_push_count = (gprs_to_push & gprs_to_push_early).Count();
|
||||||
|
const u64 early_push_size = Common::AlignUp(early_push_count, 2) * 8;
|
||||||
|
|
||||||
WriteConditionalExceptionExit(EXCEPTION_DSI, temp_gpr, temp_fpr, early_push_size);
|
WriteConditionalExceptionExit(EXCEPTION_DSI, temp_gpr, temp_fpr, early_push_size);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue