On 21/06/2021 02:34, Richard Henderson wrote:
> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/sparc/translate.c | 19 +++++--------------
> 1 file changed, 5 insertions(+), 14 deletions(-)
>
> diff --git a/target/sparc/translate.c b/target/sparc/translate.c
> index 4bfa3179f8..fb0c242606 100644
> --- a/target/sparc/translate.c
> +++ b/target/sparc/translate.c
> @@ -339,23 +339,14 @@ static inline TCGv gen_dest_gpr(DisasContext *dc, int reg)
> }
> }
>
> -static inline bool use_goto_tb(DisasContext *s, target_ulong pc,
> - target_ulong npc)
> +static bool use_goto_tb(DisasContext *s, target_ulong pc, target_ulong npc)
> {
> - if (unlikely(s->base.singlestep_enabled || singlestep)) {
> - return false;
> - }
> -
> -#ifndef CONFIG_USER_ONLY
> - return (pc & TARGET_PAGE_MASK) == (s->base.tb->pc & TARGET_PAGE_MASK) &&
> - (npc & TARGET_PAGE_MASK) == (s->base.tb->pc & TARGET_PAGE_MASK);
> -#else
> - return true;
> -#endif
> + return translator_use_goto_tb(&s->base, pc) &&
> + translator_use_goto_tb(&s->base, npc);
> }
>
> -static inline void gen_goto_tb(DisasContext *s, int tb_num,
> - target_ulong pc, target_ulong npc)
> +static void gen_goto_tb(DisasContext *s, int tb_num,
> + target_ulong pc, target_ulong npc)
> {
> if (use_goto_tb(s, pc, npc)) {
> /* jump to same page: we can use a direct jump */
Is it still worth keeping the unlikely() hint around the single-step check? I see it
isn't included in your translator_use_goto_tb() implementation in patch 1.
I'll trust that you know better than me the effect of removing the inline, so:
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
ATB,
Mark.