summaryrefslogtreecommitdiff
path: root/src/common/break_points.cpp
diff options
context:
space:
mode:
authorGravatar archshift2014-08-12 03:44:12 -0700
committerGravatar archshift2014-08-12 03:48:11 -0700
commite3efc613fd84d62bdc370903c8bfef9743a9e593 (patch)
treee970bbb69333c0057e23c1de355e3cdeefb5a073 /src/common/break_points.cpp
parentChanged iterators to use auto, some of which using range-based loops (diff)
downloadyuzu-e3efc613fd84d62bdc370903c8bfef9743a9e593.tar.gz
yuzu-e3efc613fd84d62bdc370903c8bfef9743a9e593.tar.xz
yuzu-e3efc613fd84d62bdc370903c8bfef9743a9e593.zip
break_points: cleaned up, added `find_if`s
Diffstat (limited to 'src/common/break_points.cpp')
-rw-r--r--src/common/break_points.cpp62
1 files changed, 27 insertions, 35 deletions
diff --git a/src/common/break_points.cpp b/src/common/break_points.cpp
index 4e04a06ff..392b8530b 100644
--- a/src/common/break_points.cpp
+++ b/src/common/break_points.cpp
@@ -9,19 +9,21 @@
9#include <sstream> 9#include <sstream>
10#include <algorithm> 10#include <algorithm>
11 11
12bool BreakPoints::IsAddressBreakPoint(u32 _iAddress) 12bool BreakPoints::IsAddressBreakPoint(u32 iAddress)
13{ 13{
14 for (auto breakpoint : m_BreakPoints) 14 auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress; };
15 if (breakpoint.iAddress == _iAddress) 15 auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond);
16 return true; 16 if (it != m_BreakPoints.end())
17 return true;
17 return false; 18 return false;
18} 19}
19 20
20bool BreakPoints::IsTempBreakPoint(u32 _iAddress) 21bool BreakPoints::IsTempBreakPoint(u32 iAddress)
21{ 22{
22 for (auto breakpoint : m_BreakPoints) 23 auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress && bp.bTemporary; };
23 if (breakpoint.iAddress == _iAddress && breakpoint.bTemporary) 24 auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond);
24 return true; 25 if (it != m_BreakPoints.end())
26 return true;
25 return false; 27 return false;
26} 28}
27 29
@@ -83,16 +85,10 @@ void BreakPoints::Add(u32 em_address, bool temp)
83 85
84void BreakPoints::Remove(u32 em_address) 86void BreakPoints::Remove(u32 em_address)
85{ 87{
86 for (auto i = m_BreakPoints.begin(); i != m_BreakPoints.end(); ++i) 88 auto cond = [&em_address](const TBreakPoint& bp) { return bp.iAddress == em_address; };
87 { 89 auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond);
88 if (i->iAddress == em_address) 90 if (it != m_BreakPoints.end())
89 { 91 m_BreakPoints.erase(it);
90 m_BreakPoints.erase(i);
91 //if (jit)
92 // jit->GetBlockCache()->InvalidateICache(em_address, 4);
93 return;
94 }
95 }
96} 92}
97 93
98void BreakPoints::Clear() 94void BreakPoints::Clear()
@@ -106,7 +102,7 @@ void BreakPoints::Clear()
106 // } 102 // }
107 // ); 103 // );
108 //} 104 //}
109 105
110 m_BreakPoints.clear(); 106 m_BreakPoints.clear();
111} 107}
112 108
@@ -118,10 +114,10 @@ MemChecks::TMemChecksStr MemChecks::GetStrings() const
118 std::stringstream mc; 114 std::stringstream mc;
119 mc << std::hex << memcheck.StartAddress; 115 mc << std::hex << memcheck.StartAddress;
120 mc << " " << (memcheck.bRange ? memcheck.EndAddress : memcheck.StartAddress) << " " 116 mc << " " << (memcheck.bRange ? memcheck.EndAddress : memcheck.StartAddress) << " "
121 << (memcheck.bRange ? "n" : "") 117 << (memcheck.bRange ? "n" : "")
122 << (memcheck.OnRead ? "r" : "") 118 << (memcheck.OnRead ? "r" : "")
123 << (memcheck.OnWrite ? "w" : "") 119 << (memcheck.OnWrite ? "w" : "")
124 << (memcheck.Log ? "l" : "") 120 << (memcheck.Log ? "l" : "")
125 << (memcheck.Break ? "p" : ""); 121 << (memcheck.Break ? "p" : "");
126 mcs.push_back(mc.str()); 122 mcs.push_back(mc.str());
127 } 123 }
@@ -150,22 +146,18 @@ void MemChecks::AddFromStrings(const TMemChecksStr& mcs)
150 } 146 }
151} 147}
152 148
153void MemChecks::Add(const TMemCheck& _rMemoryCheck) 149void MemChecks::Add(const TMemCheck& rMemoryCheck)
154{ 150{
155 if (GetMemCheck(_rMemoryCheck.StartAddress) == 0) 151 if (GetMemCheck(rMemoryCheck.StartAddress) == 0)
156 m_MemChecks.push_back(_rMemoryCheck); 152 m_MemChecks.push_back(rMemoryCheck);
157} 153}
158 154
159void MemChecks::Remove(u32 _Address) 155void MemChecks::Remove(u32 Address)
160{ 156{
161 for (auto i = m_MemChecks.begin(); i != m_MemChecks.end(); ++i) 157 auto cond = [&Address](const TMemCheck& mc) { return mc.StartAddress == Address; };
162 { 158 auto it = std::find_if(m_MemChecks.begin(), m_MemChecks.end(), cond);
163 if (i->StartAddress == _Address) 159 if (it != m_MemChecks.end())
164 { 160 m_MemChecks.erase(it);
165 m_MemChecks.erase(i);
166 return;
167 }
168 }
169} 161}
170 162
171TMemCheck *MemChecks::GetMemCheck(u32 address) 163TMemCheck *MemChecks::GetMemCheck(u32 address)