On 19.09.2012, at 02:14, Richard Henderson wrote:

> On 09/18/2012 01:18 PM, Alexander Graf wrote:
>>> -    /* remember what pgm exeption this was */
>>> +    /* Remember what pgm exeption this was.  */
>>>      tmp = tcg_const_i32(code);
>>>      tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUS390XState, int_pgm_code));
>>>      tcg_temp_free_i32(tmp);
>>>  -    tmp = tcg_const_i32(ilc);
>>> +    tmp = tcg_const_i32(s->next_pc - s->pc);
>> 
>> Mind to explain this one?
> 
> ILC = the size of the insn.  Rather than passing ILC around into
> gen_program_exception, get it back from the s->next_pc value that
> we stored into DisasContext.

Ah, makes sense. Maybe create a small helper that makes it more obvious:

static int current_ilc(DisasContext *s)
{
    /* Next pc - current pc = current instruction length. */
    return s->next_pc - s->pc;
}


Alex


Reply via email to