From: Julian Seward Date: Sun, 25 Jul 2004 17:25:06 +0000 (+0000) Subject: Observe caller-supplied limit on # of insns allowed in a bb. X-Git-Tag: svn/VALGRIND_3_0_1^2~1214 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ea8badf1bd40048bc7dd9d2ebc7664c9395cbf48;p=thirdparty%2Fvalgrind.git Observe caller-supplied limit on # of insns allowed in a bb. git-svn-id: svn://svn.valgrind.org/vex/trunk@120 --- diff --git a/VEX/priv/guest-x86/x86toIR.c b/VEX/priv/guest-x86/x86toIR.c index 2e87a03a34..fe9dd5e41c 100644 --- a/VEX/priv/guest-x86/x86toIR.c +++ b/VEX/priv/guest-x86/x86toIR.c @@ -7983,6 +7983,7 @@ IRBB* bbToIR_X86Instr ( UChar* x86code, last_stmt = NULL; vassert((eip >> 32) == 0); + vassert(vex_guest_insns_per_bb >= 1); DIP("Original x86 code to IR:\n\n"); @@ -7993,6 +7994,11 @@ IRBB* bbToIR_X86Instr ( UChar* x86code, n_instrs = 0; while (True) { if (isEnd) break; + if (n_instrs == vex_guest_insns_per_bb) { + vassert(irbb->next == NULL); + irbb->next = mkU32(((Addr32)eip)+delta); + break; + } vassert(n_instrs < vex_guest_insns_per_bb); delta = disInstr ( delta, &isEnd ); n_instrs++;