void erts_clear_all_breaks(BpFunctions* f) { clear_break(f, ERTS_BPF_ALL); }
void ThreadState::clear_return() { // Use the same logic as break clear_break(); }
void erts_clear_count_break(BpFunctions* f) { clear_break(f, ERTS_BPF_COUNT|ERTS_BPF_COUNT_ACTIVE); }
void erts_clear_time_break(BpFunctions* f) { clear_break(f, ERTS_BPF_TIME_TRACE|ERTS_BPF_TIME_TRACE_ACTIVE); }
void erts_clear_mtrace_break(BpFunctions* f) { clear_break(f, ERTS_BPF_META_TRACE); }
void erts_clear_debug_break(BpFunctions* f) { ERTS_SMP_LC_ASSERT(erts_smp_thr_progress_is_blocking()); clear_break(f, ERTS_BPF_DEBUG); }
void erts_clear_trace_break(BpFunctions* f) { clear_break(f, ERTS_BPF_LOCAL_TRACE); }
int erts_clear_break(Eterm mfa[3], int specified) { ERTS_SMP_LC_ASSERT(erts_smp_thr_progress_is_blocking()); return clear_break(mfa, specified, 0); }
int erts_clear_time_break(Eterm mfa[3], int specified) { ERTS_SMP_LC_ASSERT(erts_smp_thr_progress_is_blocking()); return clear_break(mfa, specified, (BeamInstr) BeamOp(op_i_time_breakpoint)); }
int erts_clear_break(Eterm mfa[3], int specified) { ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0)); return clear_break(mfa, specified, 0); }
int erts_clear_count_break(Eterm mfa[3], int specified) { ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0)); return clear_break(mfa, specified, (Uint) BeamOp(op_i_count_breakpoint)); }