提交 8fcc55f9 编写于 作者: A aurel32

target-alpha: stop translation if too long

Signed-off-by: NTristan Gingold <gingold@adacore.com>
Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7027 c046a42c-6fe2-441c-8c8c-71466251a162
上级 9d1b494a
...@@ -2404,16 +2404,20 @@ static always_inline void gen_intermediate_code_internal (CPUState *env, ...@@ -2404,16 +2404,20 @@ static always_inline void gen_intermediate_code_internal (CPUState *env,
/* if we reach a page boundary or are single stepping, stop /* if we reach a page boundary or are single stepping, stop
* generation * generation
*/ */
if (((ctx.pc & (TARGET_PAGE_SIZE - 1)) == 0) ||
num_insns >= max_insns) {
break;
}
if (env->singlestep_enabled) { if (env->singlestep_enabled) {
gen_excp(&ctx, EXCP_DEBUG, 0); gen_excp(&ctx, EXCP_DEBUG, 0);
break; break;
} }
if ((ctx.pc & (TARGET_PAGE_SIZE - 1)) == 0)
break;
if (gen_opc_ptr >= gen_opc_end)
break;
if (num_insns >= max_insns)
break;
if (singlestep) { if (singlestep) {
break; break;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册