From 6466aa1e8edb5480b0ba46c8f58372fd06e5ab3f Mon Sep 17 00:00:00 2001 From: ChinYikMing Date: Sat, 2 Nov 2024 20:49:26 +0800 Subject: [PATCH] Clear block only needs when retranslate --- src/emulate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emulate.c b/src/emulate.c index bfe06e1d7..1914c9118 100644 --- a/src/emulate.c +++ b/src/emulate.c @@ -567,7 +567,6 @@ FORCE_INLINE bool insn_is_unconditional_branch(uint8_t opcode) static void block_translate(riscv_t *rv, block_t *block) { retranslate: - memset(block, 0, sizeof(block_t)); block->pc_start = block->pc_end = rv->PC; rv_insn_t *prev_ir = NULL; @@ -584,6 +583,7 @@ static void block_translate(riscv_t *rv, block_t *block) #if RV32_HAS(SYSTEM) if (!insn && need_retranslate) { + memset(block, 0, sizeof(block_t)); need_retranslate = false; goto retranslate; }