summaryrefslogtreecommitdiff
path: root/target-alpha
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-29 01:04:39 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-29 01:04:39 +0000
commited1dda53d073acdb52889aa30f9d251061b053bd (patch)
tree9509c33ef7756297329fb0cbbda16d89d618770a /target-alpha
parentaa4b81806d986e649c35700d552e7ba541c01477 (diff)
downloadqemu-ed1dda53d073acdb52889aa30f9d251061b053bd.tar.gz
qemu-ed1dda53d073acdb52889aa30f9d251061b053bd.tar.bz2
qemu-ed1dda53d073acdb52889aa30f9d251061b053bd.zip
target-alpha: bug fix: avoid nop to override next instruction
While searching PC, always store the pc of a new instruction. Instructions that didn't generate tcg code (such as nop) prevented the next one to be referenced. 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@6930 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-alpha')
-rw-r--r--target-alpha/translate.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target-alpha/translate.c b/target-alpha/translate.c
index 8bdec80fbc..6156fb5d0d 100644
--- a/target-alpha/translate.c
+++ b/target-alpha/translate.c
@@ -2379,10 +2379,10 @@ static always_inline void gen_intermediate_code_internal (CPUState *env,
lj++;
while (lj < j)
gen_opc_instr_start[lj++] = 0;
- gen_opc_pc[lj] = ctx.pc;
- gen_opc_instr_start[lj] = 1;
- gen_opc_icount[lj] = num_insns;
}
+ gen_opc_pc[lj] = ctx.pc;
+ gen_opc_instr_start[lj] = 1;
+ gen_opc_icount[lj] = num_insns;
}
if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO))
gen_io_start();