diff options
| author | Tilka <tilkax@gmail.com> | 2024-01-01 00:46:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-01 00:46:34 +0100 |
| commit | 07df4ff16e134147dda36f41bb8a49022be1606b (patch) | |
| tree | 22da9aea3d30436fa51b77c7b4ccdab84c489146 /Source | |
| parent | 8ecc4786625d2a4e15ff975659c5432317a9b302 (diff) | |
| parent | 01e534a681b5ed308fa8fbbc46ccbea3b0589686 (diff) | |
Merge pull request #12471 from mitaclaw/flush-gpr-arm-bug
Fix Logic Inefficiency in Arm64GPRCache::FlushRegisters
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp index 8538f2c040..cd270880f9 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp @@ -243,8 +243,9 @@ void Arm64GPRCache::FlushRegister(size_t index, bool maintain_state, ARM64Reg tm void Arm64GPRCache::FlushRegisters(BitSet32 regs, bool maintain_state, ARM64Reg tmp_reg) { - for (int i : regs) + for (auto iter = regs.begin(); iter != regs.end(); ++iter) { + const int i = *iter; ASSERT_MSG(DYNA_REC, m_guest_registers[GUEST_GPR_OFFSET + i].GetType() != RegType::Discarded, "Attempted to flush discarded register"); @@ -269,7 +270,7 @@ void Arm64GPRCache::FlushRegisters(BitSet32 regs, bool maintain_state, ARM64Reg reg1.Flush(); reg2.Flush(); } - ++i; + ++iter; continue; } } |
