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

Reply via email to