On 05/20/2011 11:12 AM, Richard Henderson wrote: > On 05/20/2011 05:39 AM, Kirill Batuzov wrote: >> + i = (op == INDEX_op_call) ? >> + (args[0] >> 16) + (args[0] & 0xffff) + 3 : >> + def->nb_args; >> + while (i) { >> + *gen_args = *args; >> + args++; >> + gen_args++; >> + i--; >> + } > > If you use the correct NOP, i.e. nop vs nop[123n], then > I don't believe you need to compact the arguments like this.
Bah, nevermind. I forgot that we'd have to do something else odd to replace n-operand operation opcodes with 2-operand movi. I went back and saw Aurelien did this with a memmove in his patch; it's probably more efficient to move pieces at a time to fill in holes, as you do here. r~