mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-05 06:26:49 +00:00
SPU/Debugger: Use bitset for breakpoints
This commit is contained in:
parent
7dc4ccc87d
commit
12bfc7d56a
4 changed files with 19 additions and 5 deletions
|
|
@ -1839,7 +1839,10 @@ void spu_thread::cpu_work()
|
|||
|
||||
if (has_active_local_bps)
|
||||
{
|
||||
if (local_breakpoints[pc / 4])
|
||||
const u32 pos_at = pc / 4;
|
||||
const u32 pos_bit = 1u << (pos_at % 8);
|
||||
|
||||
if (local_breakpoints[pos_at] & pos_bit)
|
||||
{
|
||||
// Ignore repeatations until a different instruction is issued
|
||||
if (pc != current_bp_pc)
|
||||
|
|
|
|||
|
|
@ -816,7 +816,7 @@ public:
|
|||
atomic_t<spu_debugger_mode> debugger_mode{};
|
||||
|
||||
// PC-based breakpoint list
|
||||
std::array<atomic_t<bool>, SPU_LS_SIZE / 4> local_breakpoints{};
|
||||
std::array<atomic_t<u8>, SPU_LS_SIZE / 4 / 8> local_breakpoints{};
|
||||
atomic_t<bool> has_active_local_bps = false;
|
||||
u32 current_bp_pc = umax;
|
||||
bool stop_flag_removal_protection = false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue