From da7bab98907a700d1e525ccafe8f623d0927a724 Mon Sep 17 00:00:00 2001 From: Oxore Date: Wed, 22 May 2024 23:44:38 +0300 Subject: Optimize compile times by removing find_if usage --- emulator.cpp | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'emulator.cpp') diff --git a/emulator.cpp b/emulator.cpp index e3ac6bb..034fc57 100644 --- a/emulator.cpp +++ b/emulator.cpp @@ -25,7 +25,6 @@ #include "musashi-m68k/m68kcpu.h" #include -#include #include #include #include @@ -406,20 +405,18 @@ static void PrintInstructionTrace(const uint32_t pc) int m68k_instr_callback(const int pc) { g_pc_backtrace.Push(pc); - const auto it = std::find_if( - code_bkpts.begin(), - code_bkpts.end(), - [&](const Breakpoint& b) { return b.offset == static_cast(pc); }); - if (it != code_bkpts.end()) { - g_m68k_debug.RaiseBreakpoint(); - m68k_end_timeslice(); - printf("Breakpoint @ 0x%08x\n", pc); - g_pc_backtrace.Normalize(); - printf("PC backtrace (size=%zu):\n", g_pc_backtrace.Size()); - for (size_t i = 0; i < g_pc_backtrace.Size(); i++) { - PrintInstructionTrace(g_pc_backtrace.buffer[i]); + for (size_t bi = 0; bi < code_bkpts.size(); bi++) { + if (code_bkpts[bi].offset == static_cast(pc)) { + g_m68k_debug.RaiseBreakpoint(); + m68k_end_timeslice(); + printf("Breakpoint @ 0x%08x\n", pc); + g_pc_backtrace.Normalize(); + printf("PC backtrace (size=%zu):\n", g_pc_backtrace.Size()); + for (size_t i = 0; i < g_pc_backtrace.Size(); i++) { + PrintInstructionTrace(g_pc_backtrace.buffer[i]); + } + return 1; } - return 1; } if (DEBUG_TRACE_INSTRUCTIONS) { PrintInstructionTrace(pc); -- cgit v1.2.3