On Fri, Dec 11, 2009 at 4:18 AM, Jun Koi <junkoi2...@gmail.com> wrote: > > Another question: I look at tcg_gen_callN() to see how the helper is > executed. We put the helper opcode into the TCG code buffer, and put > helper's params into gen_opparam_buf. > > However, then when TCG generates code to actually call the helper, we > just put the opcode of the host insn into the output buffer, which is > target code at this step, then run it. > > Now when the helper is executed, it must get its param from the stack, > which is really the host stack. But as said above, its params are in > gen_opparam_buf, but not in stack? > I searched around, and dont see anywhere we link gen_opparam_buf with > the host stack. So how the helper can get its param?? > > Surely I missed something, or misunderstand the whole picture. Any hint?
Take a look at tcg.c:tcg_reg_alloc_call Laurent