[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 23/41] target/openrisc: Use translator_use_goto_tb
From: |
Richard Henderson |
Subject: |
[PATCH 23/41] target/openrisc: Use translator_use_goto_tb |
Date: |
Sat, 10 Jul 2021 08:31:25 -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 5db63d7609..37c3e3e0a3 100644
--- a/target/openrisc/translate.c
+++ b/target/openrisc/translate.c
@@ -1719,16 +1719,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 14/41] target/avr: Mark some helpers noreturn, (continued)
- [PATCH 14/41] target/avr: Mark some helpers noreturn, Richard Henderson, 2021/07/10
- [PATCH 18/41] target/m68k: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 13/41] target/avr: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 17/41] target/i386: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 15/41] target/cris: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 16/41] target/hppa: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 20/41] target/mips: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 21/41] target/mips: Fix missing else in gen_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 19/41] target/microblaze: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 22/41] target/nios2: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 23/41] target/openrisc: Use translator_use_goto_tb,
Richard Henderson <=
- [PATCH 24/41] target/ppc: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 27/41] target/s390x: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 25/41] target/riscv: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 29/41] target/sh4: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 26/41] target/rx: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 31/41] target/tricore: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 33/41] target/xtensa: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 28/41] target/s390x: Remove use_exit_tb, Richard Henderson, 2021/07/10
- [PATCH 30/41] target/sparc: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 34/41] tcg: Fix prologue disassembly, Richard Henderson, 2021/07/10