[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 18/28] target/openrisc: Use translator_use_goto_tb
From: |
Richard Henderson |
Subject: |
[PATCH v3 18/28] target/openrisc: Use translator_use_goto_tb |
Date: |
Thu, 8 Jul 2021 09:40:40 -0700 |
Reorder the control statements to allow using the page boundary
check from translator_use_goto_tb().
Reviewed-by: Stafford Horne <shorne@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/openrisc/translate.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c
index a9c81f8bd5..2d142d8577 100644
--- a/target/openrisc/translate.c
+++ b/target/openrisc/translate.c
@@ -1720,16 +1720,17 @@ static void openrisc_tr_tb_stop(DisasContextBase
*dcbase, CPUState *cs)
/* fallthru */
case DISAS_TOO_MANY:
- if (unlikely(dc->base.singlestep_enabled)) {
- tcg_gen_movi_tl(cpu_pc, jmp_dest);
- gen_exception(dc, EXCP_DEBUG);
- } else if ((dc->base.pc_first ^ jmp_dest) & TARGET_PAGE_MASK) {
- tcg_gen_movi_tl(cpu_pc, jmp_dest);
- tcg_gen_lookup_and_goto_ptr();
- } else {
+ if (translator_use_goto_tb(&dc->base, jmp_dest)) {
tcg_gen_goto_tb(0);
tcg_gen_movi_tl(cpu_pc, jmp_dest);
tcg_gen_exit_tb(dc->base.tb, 0);
+ break;
+ }
+ tcg_gen_movi_tl(cpu_pc, jmp_dest);
+ if (unlikely(dc->base.singlestep_enabled)) {
+ gen_exception(dc, EXCP_DEBUG);
+ } else {
+ tcg_gen_lookup_and_goto_ptr();
}
break;
--
2.25.1
- [PATCH v3 15/28] target/mips: Use translator_use_goto_tb, (continued)
- [PATCH v3 15/28] target/mips: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 25/28] target/sparc: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 11/28] target/hppa: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 17/28] target/nios2: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 20/28] target/riscv: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 14/28] target/microblaze: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 19/28] target/ppc: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 27/28] target/tricore: Use tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2021/07/08
- [PATCH v3 24/28] target/sh4: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 16/28] target/mips: Fix missing else in gen_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 18/28] target/openrisc: Use translator_use_goto_tb,
Richard Henderson <=
- [PATCH v3 23/28] target/s390x: Remove use_exit_tb, Richard Henderson, 2021/07/08
- [PATCH v3 22/28] target/s390x: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 21/28] target/rx: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 28/28] target/xtensa: Use translator_use_goto_tb, Richard Henderson, 2021/07/08
- [PATCH v3 26/28] target/tricore: Use translator_use_goto_tb, Richard Henderson, 2021/07/08