提交 34dec6a5 编写于 作者: P Paolo Bonzini 提交者: Anthony Liguori

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: NPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 1c3569fe
......@@ -22,6 +22,8 @@
#include "tcg.h"
#include "kvm.h"
#include <assert.h>
#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) */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册