diff mbox series

[23/26] target/sparc: Use translator_use_goto_tb

Message ID 20210621013439.1791385-24-richard.henderson@linaro.org
State Superseded
Headers show
Series accel/tcg: Introduce translator_use_goto_tb | expand

Commit Message

Richard Henderson June 21, 2021, 1:34 a.m. UTC
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(-)

-- 
2.25.1

Comments

Mark Cave-Ayland June 21, 2021, 9:09 a.m. UTC | #1
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.
diff mbox series

Patch

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 */