On Tue, 18 Apr 2023 at 09:05, Richard Henderson
<richard.henderson(a)linaro.org> wrote:
On 4/17/23 18:40, Peter Maydell wrote:
> @@ -219,8 +221,8 @@ static void tcg_set_one_insn_per_tb(Object *obj, bool value,
Error **errp)
> {
> TCGState *s = TCG_STATE(obj);
> s->one_insn_per_tb = value;
> - /* For the moment, set the global also: this changes the behaviour */
> - singlestep = value;
> + /* Set the global also: this changes the behaviour */
> + qatomic_set(&one_insn_per_tb, value);
> }
Oh, one question: is it worth having the TCGState member at all?
Seems like these accessors could work just fine with only the global.
True at the moment, but if we do ever want to do that refactoring
to use a tcg_global_cflags, then we will need the TCGState field,
because you can't go from a tcg_global_cflags value back to
"what are the one_insn_per_tb and nochain settings currently?".
thanks
-- PMM