From: Paolo Bonzini Date: Thu, 16 May 2024 16:38:32 +0000 (+0200) Subject: target/i386: assert that gen_update_eip_cur and gen_update_eip_next are the same... X-Git-Tag: pull-vmclock-20250108~309^2~13 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ad8f2ad77eb5b78d4478f900518d832af005ad40;p=users%2Fdwmw2%2Fqemu.git target/i386: assert that gen_update_eip_cur and gen_update_eip_next are the same in tb_stop This is an invariant now that there are no calls to gen_eob_inhibit_irq() outside tb_stop. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index a7493b5ccf..fcb7934efa 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -4798,6 +4798,7 @@ static void i386_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) gen_jmp_rel_csize(dc, 0, 0); break; case DISAS_EOB_NEXT: + assert(dc->base.pc_next == dc->pc); gen_update_eip_cur(dc); /* fall through */ case DISAS_EOB_ONLY: @@ -4807,6 +4808,7 @@ static void i386_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) gen_eob_syscall(dc); break; case DISAS_EOB_INHIBIT_IRQ: + assert(dc->base.pc_next == dc->pc); gen_update_eip_cur(dc); gen_eob_inhibit_irq(dc); break;