qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v12 02/27] cpu-exec: Avoid global variables in i


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH v12 02/27] cpu-exec: Avoid global variables in icount-related functions
Date: Tue, 11 Jul 2017 20:25:32 +0100
User-agent: mu4e 0.9.19; emacs 25.2.50.3

Lluís Vilanova <address@hidden> writes:

> Signed-off-by: Lluís Vilanova <address@hidden>

I guess. I assume this is also something Emilio is targeting with his
multi-threaded translation work.

Reviewed-by: Alex Bennée <address@hidden>

> ---
>  include/exec/gen-icount.h |   10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/include/exec/gen-icount.h b/include/exec/gen-icount.h
> index 62d462e494..6c28ef59c3 100644
> --- a/include/exec/gen-icount.h
> +++ b/include/exec/gen-icount.h
> @@ -19,7 +19,7 @@ static inline void gen_tb_start(TranslationBlock *tb)
>          count = tcg_temp_new_i32();
>      }
>
> -    tcg_gen_ld_i32(count, cpu_env,
> +    tcg_gen_ld_i32(count, tcg_ctx.tcg_env,
>                     -ENV_OFFSET + offsetof(CPUState, icount_decr.u32));
>
>      if (tb->cflags & CF_USE_ICOUNT) {
> @@ -37,7 +37,7 @@ static inline void gen_tb_start(TranslationBlock *tb)
>      tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, exitreq_label);
>
>      if (tb->cflags & CF_USE_ICOUNT) {
> -        tcg_gen_st16_i32(count, cpu_env,
> +        tcg_gen_st16_i32(count, tcg_ctx.tcg_env,
>                           -ENV_OFFSET + offsetof(CPUState, 
> icount_decr.u16.low));
>      }
>
> @@ -62,14 +62,16 @@ static void gen_tb_end(TranslationBlock *tb, int 
> num_insns)
>  static inline void gen_io_start(void)
>  {
>      TCGv_i32 tmp = tcg_const_i32(1);
> -    tcg_gen_st_i32(tmp, cpu_env, -ENV_OFFSET + offsetof(CPUState, 
> can_do_io));
> +    tcg_gen_st_i32(tmp, tcg_ctx.tcg_env,
> +                   -ENV_OFFSET + offsetof(CPUState, can_do_io));
>      tcg_temp_free_i32(tmp);
>  }
>
>  static inline void gen_io_end(void)
>  {
>      TCGv_i32 tmp = tcg_const_i32(0);
> -    tcg_gen_st_i32(tmp, cpu_env, -ENV_OFFSET + offsetof(CPUState, 
> can_do_io));
> +    tcg_gen_st_i32(tmp, tcg_ctx.tcg_env,
> +                   -ENV_OFFSET + offsetof(CPUState, can_do_io));
>      tcg_temp_free_i32(tmp);
>  }
>


--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]