[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 7/9] target/riscv: Use insn_start from DisasContextBase
From: |
Richard Henderson |
Subject: |
[PATCH 7/9] target/riscv: Use insn_start from DisasContextBase |
Date: |
Sat, 6 Apr 2024 12:32:46 -1000 |
To keep the multiple update check, replace insn_start
with insn_start_updated.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/riscv/translate.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index 9d57089fcc..9ff09ebdb6 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -115,8 +115,7 @@ typedef struct DisasContext {
bool itrigger;
/* FRM is known to contain a valid value. */
bool frm_valid;
- /* TCG of the current insn_start */
- TCGOp *insn_start;
+ bool insn_start_updated;
} DisasContext;
static inline bool has_ext(DisasContext *ctx, uint32_t ext)
@@ -207,9 +206,9 @@ static void gen_check_nanbox_s(TCGv_i64 out, TCGv_i64 in)
static void decode_save_opc(DisasContext *ctx)
{
- assert(ctx->insn_start != NULL);
- tcg_set_insn_start_param(ctx->insn_start, 1, ctx->opcode);
- ctx->insn_start = NULL;
+ assert(!ctx->insn_start_updated);
+ ctx->insn_start_updated = true;
+ tcg_set_insn_start_param(ctx->base.insn_start, 1, ctx->opcode);
}
static void gen_pc_plus_diff(TCGv target, DisasContext *ctx,
@@ -1224,7 +1223,7 @@ static void riscv_tr_insn_start(DisasContextBase *dcbase,
CPUState *cpu)
}
tcg_gen_insn_start(pc_next, 0);
- ctx->insn_start = tcg_last_op();
+ ctx->insn_start_updated = false;
}
static void riscv_tr_translate_insn(DisasContextBase *dcbase, CPUState *cpu)
--
2.34.1
- Re: [PATCH 2/9] accel/tcg: Add insn_start to DisasContextBase, (continued)
- [PATCH 3/9] target/arm: Use insn_start from DisasContextBase, Richard Henderson, 2024/04/06
- [PATCH 4/9] target/hppa: Use insn_start from DisasContextBase, Richard Henderson, 2024/04/06
- [PATCH 5/9] target/i386: Preserve DisasContextBase.insn_start across rewind, Richard Henderson, 2024/04/06
- [PATCH 6/9] target/microblaze: Use insn_start from DisasContextBase, Richard Henderson, 2024/04/06
- [PATCH 7/9] target/riscv: Use insn_start from DisasContextBase,
Richard Henderson <=
- [PATCH 8/9] target/s390x: Use insn_start from DisasContextBase, Richard Henderson, 2024/04/06
- [PATCH 9/9] accel/tcg: Improve can_do_io management, Richard Henderson, 2024/04/06