JitArm64: Correctly flush non-dirty immediates

Without this change, non-dirty immediates don't actually get flushed.
This can be a problem if we for instance are flushing all registers in
order to execute an interpreter fallback. If that interpreter fallback
writes to a register that contained a non-dirty immediate, the JIT will
keep using the old value instead of loading the updated value.
This commit is contained in:
JosJuice 2023-11-05 09:15:08 +01:00
parent 6b2d801ed7
commit 1b7bd32ac1
1 changed files with 3 additions and 3 deletions

View File

@ -232,10 +232,10 @@ void Arm64GPRCache::FlushRegister(size_t index, bool maintain_state, ARM64Reg tm
if (allocated_tmp_reg)
UnlockRegister(tmp_reg);
}
if (!maintain_state)
reg.Flush();
}
if (!maintain_state)
reg.Flush();
}
}