|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [PATCH v11 10/29] target/i386: [tcg] Refactor translate_insn |
Date: | Fri, 7 Jul 2017 05:18:30 -1000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 07/06/2017 11:25 PM, Lluís Vilanova wrote:
/* convert one instruction. s->base.is_jmp is set if the translation must be stopped. Return the next pc value */ -static target_ulong disas_insn(CPUX86State *env, DisasContext *s, - target_ulong pc_start) +static target_ulong disas_insn(DisasContextBase *dcbase, CPUState *cpu) { + DisasContext *s = container_of(dcbase, DisasContext, base); + CPUX86State *env = cpu->env_ptr;Minor nit: you can pass dc (*s) here directly, no need for container_of[...] I prefer not to so that the code will work in the future (i.e., not assuming the location of base inside disascontext).
There's clearly a misunderstanding here.Emilio is saying that disas_insn is not a hook and private to the front-end. Therefore the argument to the function should be "DisasContet *s" and not "DisasContextBase *dcbase".
And I agree. Passing DisasContext should be preferred where possible. r~
[Prev in Thread] | Current Thread | [Next in Thread] |