From 34dec6a5608e3a878966fb0c0369a0dbbf6e3d9b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 15 Jan 2010 09:42:08 +0100 Subject: [PATCH] add assertions about env->current_tb By virtue of the previous patch env->current_tb will always be NULL at the top of cpu_exec's outermost for loop, and at the end of the innermost while loop. Signed-off-by: Paolo Bonzini Signed-off-by: Anthony Liguori --- cpu-exec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cpu-exec.c b/cpu-exec.c index 2b3e6989e3..44d45fcd36 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -22,6 +22,8 @@ #include "tcg.h" #include "kvm.h" +#include + #if !defined(CONFIG_SOFTMMU) #undef EAX #undef ECX @@ -260,7 +262,7 @@ int cpu_exec(CPUState *env1) env = cpu_single_env; #define env cpu_single_env #endif - env->current_tb = NULL; + assert (env->current_tb == NULL); /* if an exception is pending, we execute it here */ if (env->exception_index >= 0) { if (env->exception_index >= EXCP_INTERRUPT) { @@ -595,6 +597,7 @@ int cpu_exec(CPUState *env1) } spin_unlock(&tb_lock); env->current_tb = tb; + assert (env->current_tb); /* cpu_interrupt might be called while translating the TB, but before it is linked into a potentially @@ -640,6 +643,7 @@ int cpu_exec(CPUState *env1) cpu_loop_exit(); } } + assert (env->current_tb == NULL); } /* reset soft MMU for next block (it can currently only be set by a memory fault) */