target-alpha: stop translation if too long

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7027 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
aurel32 2009-04-07 21:44:52 +00:00
parent 9d1b494a2d
commit 8fcc55f9de
1 changed files with 9 additions and 5 deletions

View File

@ -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
* generation
*/
if (((ctx.pc & (TARGET_PAGE_SIZE - 1)) == 0) ||
num_insns >= max_insns) {
break;
}
if (env->singlestep_enabled) {
gen_excp(&ctx, EXCP_DEBUG, 0);
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) {
break;
}