From b9aed428e892b11aacd94b603f05fb412bd12274 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Thu, 22 Sep 2022 18:09:27 +0200 Subject: [PATCH] Jit64: Remove breakpoint check from JitAsm.cpp The breakpoint check in Jit.cpp makes it redundant. Normally this redundant check doesn't cause any issues, but if you create a breakpoint and enable logging without breaking, you get two log messages if the breakpoint is at the beginning of a block. See https://bugs.dolphin-emu.org/issues/13044. This is also a tiny performance improvement for when debugging is active, since we no longer check for breakpoints for blocks that never had any breakpoints to begin with. --- Source/Core/Core/PowerPC/Jit64/JitAsm.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Source/Core/Core/PowerPC/Jit64/JitAsm.cpp b/Source/Core/Core/PowerPC/Jit64/JitAsm.cpp index 1fbdc8306e..46103b56f9 100644 --- a/Source/Core/Core/PowerPC/Jit64/JitAsm.cpp +++ b/Source/Core/Core/PowerPC/Jit64/JitAsm.cpp @@ -91,16 +91,9 @@ void Jit64AsmRoutineManager::Generate() if (enable_debugging) { - MOV(64, R(RSCRATCH), ImmPtr(CPU::GetStatePtr())); - TEST(32, MatR(RSCRATCH), Imm32(static_cast(CPU::State::Stepping))); - FixupBranch notStepping = J_CC(CC_Z); - ABI_PushRegistersAndAdjustStack({}, 0); - ABI_CallFunction(PowerPC::CheckBreakPoints); - ABI_PopRegistersAndAdjustStack({}, 0); MOV(64, R(RSCRATCH), ImmPtr(CPU::GetStatePtr())); TEST(32, MatR(RSCRATCH), Imm32(0xFFFFFFFF)); dbg_exit = J_CC(CC_NZ, true); - SetJumpTarget(notStepping); } SetJumpTarget(skipToRealDispatch);