Use a fake exception to exit early in case of memory breakpoints.

Change TMemCheck::Action to return whether to break rather than calling
PPCDebugInterface::BreakNow, as this simplified the implementation; then
remove said method, as that was its only caller.  One "interface" method
down, many to go...
This commit is contained in:
comex
2015-04-23 01:22:35 -04:00
parent dd7ab4812b
commit 2264e7b087
9 changed files with 42 additions and 14 deletions

View File

@ -207,7 +207,7 @@ TMemCheck *MemChecks::GetMemCheck(u32 address)
return nullptr;
}
void TMemCheck::Action(DebugInterface *debug_interface, u32 iValue, u32 addr, bool write, int size, u32 pc)
bool TMemCheck::Action(DebugInterface *debug_interface, u32 iValue, u32 addr, bool write, int size, u32 pc)
{
if ((write && OnWrite) || (!write && OnRead))
{
@ -220,9 +220,9 @@ void TMemCheck::Action(DebugInterface *debug_interface, u32 iValue, u32 addr, bo
);
}
if (Break)
debug_interface->BreakNow();
return true;
}
return false;
}