Richard Henderson writes:

> On 06/25/2017 02:12 AM, Lluís Vilanova wrote:
>> +    DisasContext *dc = container_of(db, DisasContext, base);
>> CPUX86State *env = cpu->env_ptr;
>> -    DisasContext dc1, *dc = &dc1;
>> -    DisasContextBase *db = &dc1.base;
>> -    uint32_t flags;
>> -    target_ulong cs_base;
>> -    int num_insns;
>> -    int max_insns;
>> -
>> -    /* generate intermediate code */
>> -    db->pc_first = tb->pc;
>> -    cs_base = tb->cs_base;
>> -    flags = tb->flags;
>> +    uint32_t flags = db->tb->flags;
>> +    target_ulong cs_base = db->tb->cs_base;

> As a nit, it would be better for the compiler if you keep only one of the two
> pointers {dc,db} live.  That is, once you've used container_of, always use
> dc-> base instead of db.

That's what the previous version did, but Emilio proposed to use both to keep
diffs more readable.

Still, if using both dc/db will confuse the compiler's alias analysis, I can
revert it back to dc->base.

Thanks,
  Lluis

Reply via email to