diff --git a/src/xenia/cpu/ppc/ppc_frontend.cc b/src/xenia/cpu/ppc/ppc_frontend.cc index 1696cadfa..0a41efb77 100644 --- a/src/xenia/cpu/ppc/ppc_frontend.cc +++ b/src/xenia/cpu/ppc/ppc_frontend.cc @@ -55,26 +55,32 @@ Memory* PPCFrontend::memory() const { return processor_->memory(); } // Checks the state of the global lock and sets scratch to the current MSR // value. void CheckGlobalLock(PPCContext* ppc_context, void* arg0, void* arg1) { - auto global_mutex = reinterpret_cast(arg0); auto global_lock_count = reinterpret_cast(arg1); - std::lock_guard lock(*global_mutex); +#ifdef _DEBUG + auto global_mutex = reinterpret_cast(arg0); + std::lock_guard lock(*global_mutex); +#endif ppc_context->scratch = *global_lock_count ? 0 : 0x8000; } // Enters the global lock. Safe to recursion. void EnterGlobalLock(PPCContext* ppc_context, void* arg0, void* arg1) { auto global_mutex = reinterpret_cast(arg0); +#ifdef _DEBUG auto global_lock_count = reinterpret_cast(arg1); - global_mutex->lock(); xe::atomic_inc(global_lock_count); +#endif + global_mutex->lock(); } // Leaves the global lock. Safe to recursion. void LeaveGlobalLock(PPCContext* ppc_context, void* arg0, void* arg1) { auto global_mutex = reinterpret_cast(arg0); +#ifdef _DEBUG auto global_lock_count = reinterpret_cast(arg1); auto new_lock_count = xe::atomic_dec(global_lock_count); assert_true(new_lock_count >= 0); +#endif global_mutex->unlock(); }