Richard Henderson writes: > This target is not sophisticated in its use of cleanups at the > end of the translation loop. For the most part, any condition > that exits the TB is dealt with by emitting the exiting opcode > right then and there. Therefore the only is_jmp indicator that > is needed is DISAS_NORETURN.
> For two stack segment modifying cases, we have not yet exited > the TB (therefore DISAS_NORETURN feels wrong), but intend to exit. > The caller of gen_movl_seg_T0 currently checks for any non-zero > value, therefore DISAS_TOO_MANY seems acceptable for that usage. > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/i386/translate.c | 28 +++++++++++++++------------- > 1 file changed, 15 insertions(+), 13 deletions(-) > diff --git a/target/i386/translate.c b/target/i386/translate.c > index cab9e32..3ffbf1b 100644 > --- a/target/i386/translate.c > +++ b/target/i386/translate.c > @@ -31,6 +31,7 @@ > #include "trace-tcg.h" > #include "exec/log.h" > +#define DISAS_TOO_MANY 5 Why is this one not added as a generic define too (like DISAS_NORETURN in prev patch)? Thanks, Lluis