diff mbox series

[v5,06/23] target/ppc: Tidy exception vs exit_tb

Message ID 20210517205025.3777947-7-matheus.ferst@eldorado.org.br
State New
Headers show
Series [v5,01/23] target/ppc: Introduce gen_icount_io_start | expand

Commit Message

Matheus K. Ferst May 17, 2021, 8:50 p.m. UTC
From: Richard Henderson <richard.henderson@linaro.org>


We do not need to emit an exit_tb after an exception,
as the latter will exit via longjmp.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>

---
 target/ppc/translate.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
2.25.1

Comments

David Gibson May 18, 2021, 12:19 a.m. UTC | #1
On Mon, May 17, 2021 at 05:50:08PM -0300, matheus.ferst@eldorado.org.br wrote:
> From: Richard Henderson <richard.henderson@linaro.org>

> 

> We do not need to emit an exit_tb after an exception,

> as the latter will exit via longjmp.

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>


Applied to ppc-for-6.1, thanks.

> ---

>  target/ppc/translate.c | 3 ++-

>  1 file changed, 2 insertions(+), 1 deletion(-)

> 

> diff --git a/target/ppc/translate.c b/target/ppc/translate.c

> index 05e3c0417a..e68152810e 100644

> --- a/target/ppc/translate.c

> +++ b/target/ppc/translate.c

> @@ -4648,8 +4648,9 @@ static void gen_lookup_and_goto_ptr(DisasContext *ctx)

>          } else if (sse & (CPU_SINGLE_STEP | CPU_BRANCH_STEP)) {

>              uint32_t excp = gen_prep_dbgex(ctx);

>              gen_exception(ctx, excp);

> +        } else {

> +            tcg_gen_exit_tb(NULL, 0);

>          }

> -        tcg_gen_exit_tb(NULL, 0);

>      } else {

>          tcg_gen_lookup_and_goto_ptr();

>      }


-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
diff mbox series

Patch

diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index 05e3c0417a..e68152810e 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -4648,8 +4648,9 @@  static void gen_lookup_and_goto_ptr(DisasContext *ctx)
         } else if (sse & (CPU_SINGLE_STEP | CPU_BRANCH_STEP)) {
             uint32_t excp = gen_prep_dbgex(ctx);
             gen_exception(ctx, excp);
+        } else {
+            tcg_gen_exit_tb(NULL, 0);
         }
-        tcg_gen_exit_tb(NULL, 0);
     } else {
         tcg_gen_lookup_and_goto_ptr();
     }