On 6/10/21 3:17 AM, Peter Maydell wrote:
Can't use tcg_constant_i32() because store_cpu_field() wants to tcg_temp_free_i32() its argument.
Yes you can. I thought I documented somewhere that constant is silently ignored by free. Oh dear, now I see that I have conflicting docs -- will fix.
In fact, looking again at the accel/tcg code, if we rewind to insn_start that will delete any code emitted by the breakpoint_check hook, anything emitted by plugin_gen_insn_start(), and anything emitted by gen_io_start() if this is a CF_LAST_IO insn. I think we want to keep all of those.
Hmm. I guess BP_CPU does say DISAS_TOO_MANY for execute only one more insn, and the plugin stuff. Good point.
r~