aboutsummaryrefslogtreecommitdiff
path: root/target-i386/translate-copy.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-25 17:57:43 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-25 17:57:43 +0000
commitd720b93d0bcfe1beb729245b9ed1e5f071a24bd5 (patch)
tree4f9d65b82b9eb8bd65681cfde6bb18e7b6bd2eae /target-i386/translate-copy.c
parenteeab3a558f89e30ee93ef628bcbd6a3f64b9b8a6 (diff)
precise self modifying code support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@745 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/translate-copy.c')
-rw-r--r--target-i386/translate-copy.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/target-i386/translate-copy.c b/target-i386/translate-copy.c
index 500475a74a..e6f9198abc 100644
--- a/target-i386/translate-copy.c
+++ b/target-i386/translate-copy.c
@@ -1189,6 +1189,8 @@ static inline int gen_intermediate_code_internal(CPUState *env,
return -1;
if (!(flags & HF_SS32_MASK))
return -1;
+ if (tb->cflags & CF_SINGLE_INSN)
+ return -1;
gen_code_end = gen_code_ptr +
GEN_CODE_MAX_SIZE - GEN_CODE_MAX_INSN_SIZE;
dc->gen_code_ptr = gen_code_ptr;