From c0ce998e94fadb7fdc83dbc7455372af933f8fa9 Mon Sep 17 00:00:00 2001 From: aliguori Date: Tue, 25 Nov 2008 22:13:57 +0000 Subject: Use sys-queue.h for break/watchpoint managment (Jan Kiszka) This switches cpu_break/watchpoint_* to TAILQ wrappers, simplifying the code and also fixing a use after release issue in cpu_break/watchpoint_remove_all. Signed-off-by: Jan Kiszka Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5799 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-i386/helper.c | 2 +- target-i386/translate.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'target-i386') diff --git a/target-i386/helper.c b/target-i386/helper.c index 2a61cb0cc8..037540d790 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -1364,7 +1364,7 @@ static void breakpoint_handler(CPUState *env) cpu_resume_from_signal(env, NULL); } } else { - for (bp = env->breakpoints; bp != NULL; bp = bp->next) + TAILQ_FOREACH(bp, &env->breakpoints, entry) if (bp->pc == env->eip) { if (bp->flags & BP_CPU) { check_hw_breakpoints(env, 1); diff --git a/target-i386/translate.c b/target-i386/translate.c index 0de238b575..612811b028 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -7606,8 +7606,8 @@ static inline void gen_intermediate_code_internal(CPUState *env, gen_icount_start(); for(;;) { - if (unlikely(env->breakpoints)) { - for (bp = env->breakpoints; bp != NULL; bp = bp->next) { + if (unlikely(!TAILQ_EMPTY(&env->breakpoints))) { + TAILQ_FOREACH(bp, &env->breakpoints, entry) { if (bp->pc == pc_ptr) { gen_debug(dc, pc_ptr - dc->cs_base); break; -- cgit v1.2.3