From 85547d94beb3e5c01b1b5dda2235344e2ab22dc1 Mon Sep 17 00:00:00 2001 From: Fiora Date: Fri, 26 Sep 2014 13:45:24 -0700 Subject: JIT: properly remove FIFO write addresses when code is invalidated Fixes a bug caused by interaction with carry optimizations; might fix other issues too. --- Source/Core/Common/BreakPoints.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Source/Core/Common/BreakPoints.cpp') diff --git a/Source/Core/Common/BreakPoints.cpp b/Source/Core/Common/BreakPoints.cpp index d23e1fa0e2..db0cedf0bb 100644 --- a/Source/Core/Common/BreakPoints.cpp +++ b/Source/Core/Common/BreakPoints.cpp @@ -66,7 +66,7 @@ void BreakPoints::Add(const TBreakPoint& bp) { m_BreakPoints.push_back(bp); if (jit) - jit->GetBlockCache()->InvalidateICache(bp.iAddress, 4); + jit->GetBlockCache()->InvalidateICache(bp.iAddress, 4, true); } } @@ -82,7 +82,7 @@ void BreakPoints::Add(u32 em_address, bool temp) m_BreakPoints.push_back(pt); if (jit) - jit->GetBlockCache()->InvalidateICache(em_address, 4); + jit->GetBlockCache()->InvalidateICache(em_address, 4, true); } } @@ -94,7 +94,7 @@ void BreakPoints::Remove(u32 em_address) { m_BreakPoints.erase(i); if (jit) - jit->GetBlockCache()->InvalidateICache(em_address, 4); + jit->GetBlockCache()->InvalidateICache(em_address, 4, true); return; } } @@ -106,7 +106,7 @@ void BreakPoints::Clear() { for (const TBreakPoint& bp : m_BreakPoints) { - jit->GetBlockCache()->InvalidateICache(bp.iAddress, 4); + jit->GetBlockCache()->InvalidateICache(bp.iAddress, 4, true); } } -- cgit v1.2.3