diff options
Diffstat (limited to 'target/sh4/translate.c')
-rw-r--r-- | target/sh4/translate.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/target/sh4/translate.c b/target/sh4/translate.c index 8a25a43..40898e2 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -224,17 +224,12 @@ static inline bool use_exit_tb(DisasContext *ctx) return (ctx->tbflags & GUSA_EXCLUSIVE) != 0; } -static inline bool use_goto_tb(DisasContext *ctx, target_ulong dest) +static bool use_goto_tb(DisasContext *ctx, target_ulong dest) { - /* Use a direct jump if in same page and singlestep not enabled */ - if (unlikely(ctx->base.singlestep_enabled || use_exit_tb(ctx))) { + if (use_exit_tb(ctx)) { return false; } -#ifndef CONFIG_USER_ONLY - return (ctx->base.tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK); -#else - return true; -#endif + return translator_use_goto_tb(&ctx->base, dest); } static void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest) |