Debugger: Fix mem lock with optimizations disabled.

This commit is contained in:
Unknown W. Brackets committed 2023-01-04 21:41:59 -08:00
1 parent 248ea42a58
commit a937e5dce3
1 file changed
+13
@@ -45,6 +45,10 @@ DebuggerSubscriber *WebSocketMemoryInit(DebuggerEventHandlerMap &map) {
}
struct AutoDisabledReplacements {
AutoDisabledReplacements() {}
AutoDisabledReplacements(AutoDisabledReplacements &&other);
AutoDisabledReplacements(const AutoDisabledReplacements &) = delete;
AutoDisabledReplacements &operator =(const AutoDisabledReplacements &) = delete;
~AutoDisabledReplacements();
Memory::MemoryInitedLock *lock = nullptr;
@@ -76,6 +80,15 @@ static AutoDisabledReplacements LockMemoryAndCPU(uint32_t addr, bool keepReplace
return result;
}
AutoDisabledReplacements::AutoDisabledReplacements(AutoDisabledReplacements &&other) {
lock = other.lock;
other.lock = nullptr;
replacements = std::move(other.replacements);
emuhacks = std::move(emuhacks);
saved = other.saved;
wasStepping = other.wasStepping;
}
AutoDisabledReplacements::~AutoDisabledReplacements() {
if (saved) {
std::lock_guard<std::recursive_mutex> guard(MIPSComp::jitLock);