lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


In the function patchlistaux:

static void patchlistaux (FuncState *fs, int list, int vtarget, int reg,
                          int dtarget) {
  while (list != NO_JUMP) {
    int next = getjump(fs, list);
    if (patchtestreg(fs, list, reg))
      fixjump(fs, list, vtarget);
    else
      fixjump(fs, list, dtarget);  /* jump to default target */
    list = next;
  }
}

what dose the param vtarget and dtarget actual mean?

Another question is, if patchtestreg return true,means list is an OP_TESTSET or OP_TEST instruction,but their format is not the same as OP_JMP,which is iAsBx,but in function fixjump it use SETARG_sBx macro to set sBx param.How could SETARG_sBx  being used in OP_TESTSET or OP_TEST instruction?