diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-12-21 20:46:38 -0600 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-12-21 20:46:38 -0600 |
| commit | bd4fa951a9e59bfca261728c7725bb2a405eca3a (patch) | |
| tree | 7d9661352dbbdf837b0c7a1fd218b97071c14323 | |
| parent | 4fad742da49c3ed3261b648fbcb8e141ffcc3ad0 (diff) | |
| parent | 73542ce93ed43e374d56def7a2bbc36707963026 (diff) | |
Merge pull request #1726 from Sonicadvance1/AArch64_flush_if_not_needed
[AArch64] Flush registers from register cache if they won't be used again.
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm64/Jit.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp index 22d029030b..52008c3f6b 100644 --- a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp @@ -290,6 +290,10 @@ const u8* JitArm64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitB JitArm64Tables::CompileInstruction(ops[i]); + // If we have a register that will never be used again, flush it. + for (int j : ~ops[i].gprInUse) + gpr.StoreRegister(j); + if (js.memcheck && (opinfo->flags & FL_LOADSTORE)) { // Don't do this yet |
