Lines Matching refs:pc
39 if (fs->pc > fs->lasttarget) { /* no jumps to current position? */ in luaK_nil()
40 previous = &fs->f->code[fs->pc-1]; in luaK_nil()
79 static void fixjump (FuncState *fs, int pc, int dest) { in fixjump() argument
80 Instruction *jmp = &fs->f->code[pc]; in fixjump()
81 int offset = dest-(pc+1); in fixjump()
94 fs->lasttarget = fs->pc; in luaK_getlabel()
95 return fs->pc; in luaK_getlabel()
99 static int getjump (FuncState *fs, int pc) { in getjump() argument
100 int offset = GETARG_sBx(fs->f->code[pc]); in getjump()
104 return (pc+1)+offset; /* turn offset into absolute position */ in getjump()
108 static Instruction *getjumpcontrol (FuncState *fs, int pc) { in getjumpcontrol() argument
109 Instruction *pi = &fs->f->code[pc]; in getjumpcontrol()
110 if (pc >= 1 && testTMode(GET_OPCODE(*(pi-1)))) in getjumpcontrol()
163 patchlistaux(fs, fs->jpc, fs->pc, NO_REG, fs->pc); in dischargejpc()
169 if (target == fs->pc) in luaK_patchlist()
172 lua_assert(target < fs->pc); in luaK_patchlist()
215 luaM_growvector(fs->ls->L, f->code, fs->pc, f->sizecode, Instruction, in luaK_code()
217 f->code[fs->pc] = i; in luaK_code()
219 luaM_growvector(fs->ls->L, f->lineinfo, fs->pc, f->sizelineinfo, int, in luaK_code()
221 f->lineinfo[fs->pc] = fs->ls->lastline; in luaK_code()
222 return fs->pc++; in luaK_code()
440 Instruction *pc = &getcode(fs, e); in discharge2reg() local
441 SETARG_A(*pc, reg); in discharge2reg()
598 Instruction *pc = getjumpcontrol(fs, e->u.info); in invertjump() local
599 lua_assert(testTMode(GET_OPCODE(*pc)) && GET_OPCODE(*pc) != OP_TESTSET && in invertjump()
600 GET_OPCODE(*pc) != OP_TEST); in invertjump()
601 SETARG_A(*pc, !(GETARG_A(*pc))); in invertjump()
609 fs->pc--; /* remove previous OP_NOT */ in jumponcond()
621 int pc; /* pc of last jump */ in luaK_goiftrue() local
626 pc = e->u.info; in luaK_goiftrue()
630 pc = NO_JUMP; /* always true; do nothing */ in luaK_goiftrue()
634 pc = jumponcond(fs, e, 0); in luaK_goiftrue()
638 luaK_concat(fs, &e->f, pc); /* insert last jump in `f' list */ in luaK_goiftrue()
645 int pc; /* pc of last jump */ in luaK_goiffalse() local
649 pc = e->u.info; in luaK_goiffalse()
653 pc = NO_JUMP; /* always false; do nothing */ in luaK_goiffalse()
657 pc = jumponcond(fs, e, 1); in luaK_goiffalse()
661 luaK_concat(fs, &e->t, pc); /* insert last jump in `t' list */ in luaK_goiffalse()
867 fs->f->lineinfo[fs->pc - 1] = line; in luaK_fixline()