Revision a1d1bb31 target-m68k/translate.c
b/target-m68k/translate.c | ||
---|---|---|
2965 | 2965 |
{ |
2966 | 2966 |
DisasContext dc1, *dc = &dc1; |
2967 | 2967 |
uint16_t *gen_opc_end; |
2968 |
CPUBreakpoint *bp; |
|
2968 | 2969 |
int j, lj; |
2969 | 2970 |
target_ulong pc_start; |
2970 | 2971 |
int pc_offset; |
... | ... | |
2998 | 2999 |
do { |
2999 | 3000 |
pc_offset = dc->pc - pc_start; |
3000 | 3001 |
gen_throws_exception = NULL; |
3001 |
if (env->nb_breakpoints > 0) {
|
|
3002 |
for(j = 0; j < env->nb_breakpoints; j++) {
|
|
3003 |
if (env->breakpoints[j] == dc->pc) {
|
|
3002 |
if (unlikely(env->breakpoints)) {
|
|
3003 |
for (bp = env->breakpoints; bp != NULL; bp = bp->next) {
|
|
3004 |
if (bp->pc == dc->pc) {
|
|
3004 | 3005 |
gen_exception(dc, dc->pc, EXCP_DEBUG); |
3005 | 3006 |
dc->is_jmp = DISAS_JUMP; |
3006 | 3007 |
break; |
... | ... | |
3030 | 3031 |
/* Terminate the TB on memory ops if watchpoints are present. */ |
3031 | 3032 |
/* FIXME: This should be replaced by the deterministic execution |
3032 | 3033 |
* IRQ raising bits. */ |
3033 |
if (dc->is_mem && env->nb_watchpoints)
|
|
3034 |
if (dc->is_mem && env->watchpoints) |
|
3034 | 3035 |
break; |
3035 | 3036 |
} while (!dc->is_jmp && gen_opc_ptr < gen_opc_end && |
3036 | 3037 |
!env->singlestep_enabled && |
Also available in: Unified diff