From 01e534a681b5ed308fa8fbbc46ccbea3b0589686 Mon Sep 17 00:00:00 2001 From: mitaclaw <140017135+mitaclaw@users.noreply.github.com> Date: Sat, 30 Dec 2023 23:44:27 -0800 Subject: [PATCH] Fix Logic Inefficiency in Arm64GPRCache::FlushRegisters This was introduced in 6a9f565ac4ddc65b2fdbf2293282ddd432ba89ae. --- Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp | 5 +++-- 1 file 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; } }