[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 13/22] target/s390x: Adjust check of noreturn in translate_one
From: |
Thomas Huth |
Subject: |
[PULL 13/22] target/s390x: Adjust check of noreturn in translate_one |
Date: |
Wed, 29 May 2024 12:54:45 +0200 |
From: Richard Henderson <richard.henderson@linaro.org>
If help_op is not set, ret == DISAS_NEXT.
Shift the test up from surrounding help_wout, help_cout
to skipping to out, as we do elsewhere in the function.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240502054417.234340-14-richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/tcg/translate.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index c9a5a1687e..c81e035dea 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -6341,15 +6341,16 @@ static DisasJumpType translate_one(CPUS390XState *env,
DisasContext *s)
}
if (insn->help_op) {
ret = insn->help_op(s, &o);
- }
- if (ret != DISAS_NORETURN) {
- if (insn->help_wout) {
- insn->help_wout(s, &o);
- }
- if (insn->help_cout) {
- insn->help_cout(s, &o);
+ if (ret == DISAS_NORETURN) {
+ goto out;
}
}
+ if (insn->help_wout) {
+ insn->help_wout(s, &o);
+ }
+ if (insn->help_cout) {
+ insn->help_cout(s, &o);
+ }
/* io should be the last instruction in tb when icount is enabled */
if (unlikely(icount && ret == DISAS_NEXT)) {
--
2.45.1
- [PULL 04/22] target/s390x: Record separate PER bits in TB flags, (continued)
- [PULL 04/22] target/s390x: Record separate PER bits in TB flags, Thomas Huth, 2024/05/29
- [PULL 05/22] target/s390x: Disable conditional branch-to-next for PER, Thomas Huth, 2024/05/29
- [PULL 03/22] target/s390x: Update CR9 bits, Thomas Huth, 2024/05/29
- [PULL 06/22] target/s390x: Introduce help_goto_indirect, Thomas Huth, 2024/05/29
- [PULL 07/22] target/s390x: Simplify help_branch, Thomas Huth, 2024/05/29
- [PULL 08/22] target/s390x: Split per_breaking_event from per_branch_*, Thomas Huth, 2024/05/29
- [PULL 10/22] target/s390x: Raise exception from per_store_real, Thomas Huth, 2024/05/29
- [PULL 09/22] target/s390x: Raise exception from helper_per_branch, Thomas Huth, 2024/05/29
- [PULL 11/22] target/s390x: Fix helper_per_ifetch flags, Thomas Huth, 2024/05/29
- [PULL 12/22] target/s390x: Simplify per_ifetch, per_check_exception, Thomas Huth, 2024/05/29
- [PULL 13/22] target/s390x: Adjust check of noreturn in translate_one,
Thomas Huth <=
- [PULL 14/22] tests/tcg/s390x: Add per.S, Thomas Huth, 2024/05/29
- [PULL 15/22] fuzz: specify audiodev for usb-audio, Thomas Huth, 2024/05/29
- [PULL 16/22] fuzz: disable leak-detection for oss-fuzz builds, Thomas Huth, 2024/05/29
- [PULL 18/22] scripts/update-linux-headers.sh: Remove temporary directory inbetween, Thomas Huth, 2024/05/29
- [PULL 17/22] hw/s390x: Remove unused macro VMSTATE_ADAPTER_ROUTES, Thomas Huth, 2024/05/29
- [PULL 19/22] scripts/update-linux-headers.sh: Fix the path of setup_data.h, Thomas Huth, 2024/05/29
- [PULL 20/22] qemu-keymap: Make references to allocations static, Thomas Huth, 2024/05/29
- [PULL 21/22] lockable: Do not cast function pointers, Thomas Huth, 2024/05/29
- [PULL 22/22] qapi: Do not cast function pointers, Thomas Huth, 2024/05/29
- Re: [PULL 00/22] s390x, build-oss-fuzz and Clang -fsanitize=undefined fixes, Richard Henderson, 2024/05/29