28 #define hasjumps(e) ((e)->t != (e)->f)
40 previous = &fs->
f->
code[fs->
pc-1];
43 int pl = pfrom +
GETARG_B(*previous);
44 if ((pfrom <= from && from <= pl + 1) ||
45 (from <= pfrom && pfrom <= l + 1)) {
46 if (pfrom < from) from = pfrom;
169 if (target == fs->
pc)
310 while (oldsize < f->sizek)
setnilvalue(&f->
k[oldsize++]);
321 return addk(fs, &o, &o);
330 if (r == 0 || luai_numisnan(NULL, r)) {
337 n =
addk(fs, &o, &o);
345 return addk(fs, &o, &o);
354 return addk(fs, &k, &v);
445 if (reg != e->
u.
info)
696 {
int temp = e->
f; e->
f = e->
t; e->
t = temp; }
751 if (cond == 0 && op !=
OP_EQ) {
753 temp = o1; o1 = o2; o2 = temp;
static void freereg(FuncState *fs, int reg)
lua_Number luaO_arith(int op, lua_Number v1, lua_Number v2)
static void fixjump(FuncState *fs, int pc, int dest)
void luaK_prefix(FuncState *fs, UnOpr op, expdesc *e, int line)
int luaK_codek(FuncState *fs, int reg, int k)
#define setbvalue(obj, x)
int luaK_jump(FuncState *fs)
static int code_label(FuncState *fs, int A, int b, int jump)
#define luaK_codeAsBx(fs, o, A, sBx)
LUAI_FUNC void luaK_patchclose(FuncState *fs, int list, int level)
static Instruction * getjumpcontrol(FuncState *fs, int pc)
#define setnvalue(obj, x)
int luaK_codeABx(FuncState *fs, OpCode o, int a, unsigned int bc)
static void removevalues(FuncState *fs, int list)
void luaK_setoneret(FuncState *fs, expdesc *e)
TValue * luaH_set(lua_State *L, Table *t, const TValue *key)
l_noret luaX_syntaxerror(LexState *ls, const char *msg)
void luaK_self(FuncState *fs, expdesc *e, expdesc *key)
#define luaC_barrier(L, p, v)
static int codeextraarg(FuncState *fs, int a)
static void exp2reg(FuncState *fs, expdesc *e, int reg)
static int getjump(FuncState *fs, int pc)
void luaK_goiftrue(FuncState *fs, expdesc *e)
GLdouble GLdouble GLdouble b
void luaK_nil(FuncState *fs, int from, int n)
#define CREATE_ABx(o, a, bc)
#define sethvalue(L, obj, x)
void luaK_ret(FuncState *fs, int first, int nret)
static void discharge2reg(FuncState *fs, expdesc *e, int reg)
static void discharge2anyreg(FuncState *fs, expdesc *e)
void luaK_exp2nextreg(FuncState *fs, expdesc *e)
#define luaV_rawequalobj(o1, o2)
static int luaK_code(FuncState *fs, Instruction i)
void luaK_indexed(FuncState *fs, expdesc *t, expdesc *k)
static void dischargejpc(FuncState *fs)
GLboolean GLboolean GLboolean GLboolean a
static void invertjump(FuncState *fs, expdesc *e)
#define LFIELDS_PER_FLUSH
static int boolK(FuncState *fs, int b)
static int isnumeral(expdesc *e)
static int jumponcond(FuncState *fs, expdesc *e, int cond)
void luaK_patchtohere(FuncState *fs, int list)
void luaK_reserveregs(FuncState *fs, int n)
void luaK_checkstack(FuncState *fs, int n)
void luaK_exp2anyregup(FuncState *fs, expdesc *e)
void luaK_setreturns(FuncState *fs, expdesc *e, int nresults)
void luaK_posfix(FuncState *fs, BinOpr op, expdesc *e1, expdesc *e2, int line)
static void patchlistaux(FuncState *fs, int list, int vtarget, int reg, int dtarget)
static void freeexp(FuncState *fs, expdesc *e)
static int nilK(FuncState *fs)
#define setobj(L, obj1, obj2)
int luaK_exp2RK(FuncState *fs, expdesc *e)
int luaK_getlabel(FuncState *fs)
#define lua_number2int(i, n)
static void codecomp(FuncState *fs, OpCode op, int cond, expdesc *e1, expdesc *e2)
void luaK_goiffalse(FuncState *fs, expdesc *e)
struct expdesc::@13::@14 ind
GLdouble GLdouble GLdouble r
int luaK_exp2anyreg(FuncState *fs, expdesc *e)
void luaK_storevar(FuncState *fs, expdesc *var, expdesc *ex)
std::string jump(const unsigned amount)
static int cond(LexState *ls)
static int condjump(FuncState *fs, OpCode op, int A, int B, int C)
static int addk(FuncState *fs, TValue *key, TValue *v)
void luaK_infix(FuncState *fs, BinOpr op, expdesc *v)
int luaK_numberK(FuncState *fs, lua_Number r)
void luaK_patchlist(FuncState *fs, int list, int target)
static void codearith(FuncState *fs, OpCode op, expdesc *e1, expdesc *e2, int line)
void luaK_dischargevars(FuncState *fs, expdesc *e)
#define CREATE_ABC(o, a, b, c)
static int constfolding(OpCode op, expdesc *e1, expdesc *e2)
int luaK_codeABC(FuncState *fs, OpCode o, int a, int b, int c)
TString * luaS_newlstr(lua_State *L, const char *str, size_t l)
void luaK_fixline(FuncState *fs, int line)
#define luaM_growvector(L, v, nelems, size, t, limit, e)
void luaK_concat(FuncState *fs, int *l1, int l2)
void luaK_exp2val(FuncState *fs, expdesc *e)
static int need_value(FuncState *fs, int list)
static void codenot(FuncState *fs, expdesc *e)
static int patchtestreg(FuncState *fs, int node, int reg)
int luaK_stringK(FuncState *fs, TString *s)
void luaK_setlist(FuncState *fs, int base, int nelems, int tostore)
#define setsvalue(L, obj, x)