Go to the source code of this file.
Defines | |
#define | NO_JUMP (-1) |
#define | getcode(fs, e) ((fs)->f->code[(e)->u.s.info]) |
#define | luaK_codeAsBx(fs, o, A, sBx) luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx) |
#define | luaK_setmultret(fs, e) luaK_setreturns(fs, e, LUA_MULTRET) |
Enumerations | |
enum | BinOpr { OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW, OPR_CONCAT, OPR_NE, OPR_EQ, OPR_LT, OPR_LE, OPR_GT, OPR_GE, OPR_AND, OPR_OR, OPR_NOBINOPR } |
enum | UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } |
Functions | |
LUAI_FUNC int | luaK_codeABx (FuncState *fs, OpCode o, int A, unsigned int Bx) |
LUAI_FUNC int | luaK_codeABC (FuncState *fs, OpCode o, int A, int B, int C) |
LUAI_FUNC void | luaK_fixline (FuncState *fs, int line) |
LUAI_FUNC void | luaK_nil (FuncState *fs, int from, int n) |
LUAI_FUNC void | luaK_reserveregs (FuncState *fs, int n) |
LUAI_FUNC void | luaK_checkstack (FuncState *fs, int n) |
LUAI_FUNC int | luaK_stringK (FuncState *fs, TString *s) |
LUAI_FUNC int | luaK_numberK (FuncState *fs, lua_Number r) |
LUAI_FUNC void | luaK_dischargevars (FuncState *fs, expdesc *e) |
LUAI_FUNC int | luaK_exp2anyreg (FuncState *fs, expdesc *e) |
LUAI_FUNC void | luaK_exp2nextreg (FuncState *fs, expdesc *e) |
LUAI_FUNC void | luaK_exp2val (FuncState *fs, expdesc *e) |
LUAI_FUNC int | luaK_exp2RK (FuncState *fs, expdesc *e) |
LUAI_FUNC void | luaK_self (FuncState *fs, expdesc *e, expdesc *key) |
LUAI_FUNC void | luaK_indexed (FuncState *fs, expdesc *t, expdesc *k) |
LUAI_FUNC void | luaK_goiftrue (FuncState *fs, expdesc *e) |
LUAI_FUNC void | luaK_storevar (FuncState *fs, expdesc *var, expdesc *e) |
LUAI_FUNC void | luaK_setreturns (FuncState *fs, expdesc *e, int nresults) |
LUAI_FUNC void | luaK_setoneret (FuncState *fs, expdesc *e) |
LUAI_FUNC int | luaK_jump (FuncState *fs) |
LUAI_FUNC void | luaK_ret (FuncState *fs, int first, int nret) |
LUAI_FUNC void | luaK_patchlist (FuncState *fs, int list, int target) |
LUAI_FUNC void | luaK_patchtohere (FuncState *fs, int list) |
LUAI_FUNC void | luaK_concat (FuncState *fs, int *l1, int l2) |
LUAI_FUNC int | luaK_getlabel (FuncState *fs) |
LUAI_FUNC void | luaK_prefix (FuncState *fs, UnOpr op, expdesc *v) |
LUAI_FUNC void | luaK_infix (FuncState *fs, BinOpr op, expdesc *v) |
LUAI_FUNC void | luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, expdesc *v2) |
LUAI_FUNC void | luaK_setlist (FuncState *fs, int base, int nelems, int tostore) |
#define getcode | ( | fs, | |||
e | ) | ((fs)->f->code[(e)->u.s.info]) |
Definition at line 39 of file lcode.h.
Referenced by discharge2reg(), exprstat(), jumponcond(), luaK_posfix(), luaK_setoneret(), luaK_setreturns(), and retstat().
#define luaK_codeAsBx | ( | fs, | |||
o, | |||||
A, | |||||
sBx | ) | luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx) |
Definition at line 41 of file lcode.h.
Referenced by forbody(), and luaK_jump().
#define luaK_setmultret | ( | fs, | |||
e | ) | luaK_setreturns(fs, e, LUA_MULTRET) |
Definition at line 43 of file lcode.h.
Referenced by funcargs(), lastlistfield(), and retstat().
#define NO_JUMP (-1) |
Definition at line 20 of file lcode.h.
Referenced by block(), dischargejpc(), enterblock(), exp2reg(), fixjump(), forbody(), getjump(), ifstat(), init_exp(), isnumeral(), luaK_concat(), luaK_goiffalse(), luaK_goiftrue(), luaK_jump(), luaK_posfix(), luaK_prefix(), need_value(), open_func(), patchlistaux(), and removevalues().
enum BinOpr |
LUAI_FUNC void luaK_checkstack | ( | FuncState * | fs, | |
int | n | |||
) |
Definition at line 199 of file lcode.c.
References cast_byte, FuncState::f, FuncState::freereg, FuncState::ls, luaX_syntaxerror(), MAXSTACK, and Proto::maxstacksize.
Referenced by forlist(), and luaK_reserveregs().
Definition at line 812 of file lcode.c.
References CREATE_ABC, getBMode, getCMode, getOpMode, iABC, LexState::lastline, FuncState::ls, lua_assert, luaK_code(), and OpArgN.
Referenced by breakstat(), check_conflict(), code_label(), codearith(), codenot(), condjump(), constructor(), discharge2reg(), forbody(), funcargs(), leaveblock(), luaK_dischargevars(), luaK_nil(), luaK_ret(), luaK_self(), luaK_setlist(), luaK_storevar(), pushclosure(), recfield(), and simpleexp().
Definition at line 820 of file lcode.c.
References CREATE_ABx, getCMode, getOpMode, iABx, iAsBx, LexState::lastline, FuncState::ls, lua_assert, luaK_code(), and OpArgN.
Referenced by discharge2reg(), fornum(), luaK_dischargevars(), luaK_storevar(), and pushclosure().
LUAI_FUNC void luaK_concat | ( | FuncState * | fs, | |
int * | l1, | |||
int | l2 | |||
) |
Definition at line 185 of file lcode.c.
References fixjump(), getjump(), next, and NO_JUMP.
Referenced by breakstat(), exp2reg(), ifstat(), luaK_goiffalse(), luaK_goiftrue(), luaK_jump(), luaK_patchtohere(), and luaK_posfix().
Definition at line 304 of file lcode.c.
References freereg(), expdesc::k, luaK_codeABC(), luaK_codeABx(), luaK_setoneret(), OP_GETGLOBAL, OP_GETTABLE, OP_GETUPVAL, expdesc::s, expdesc::u, VCALL, VGLOBAL, VINDEXED, VLOCAL, VNONRELOC, VRELOCABLE, VUPVAL, and VVARARG.
Referenced by codenot(), discharge2reg(), luaK_exp2anyreg(), luaK_exp2nextreg(), luaK_exp2val(), luaK_goiffalse(), luaK_goiftrue(), luaK_posfix(), and prefixexp().
Definition at line 422 of file lcode.c.
References exp2reg(), hasjumps, expdesc::k, luaK_dischargevars(), luaK_exp2nextreg(), FuncState::nactvar, expdesc::s, expdesc::u, and VNONRELOC.
Referenced by field(), luaK_exp2RK(), luaK_exp2val(), luaK_prefix(), luaK_self(), luaK_storevar(), primaryexp(), and retstat().
Definition at line 414 of file lcode.c.
References exp2reg(), freeexp(), FuncState::freereg, luaK_dischargevars(), and luaK_reserveregs().
Referenced by adjust_assign(), closelistfield(), constructor(), exp1(), explist1(), funcargs(), lastlistfield(), luaK_exp2anyreg(), luaK_infix(), luaK_posfix(), primaryexp(), and retstat().
Definition at line 444 of file lcode.c.
References boolK(), expdesc::k, luaK_exp2anyreg(), luaK_exp2val(), luaK_numberK(), MAXINDEXRK, nilK(), FuncState::nk, expdesc::nval, RKASK, expdesc::s, expdesc::u, VFALSE, VK, VKNUM, VNIL, and VTRUE.
Referenced by codearith(), codecomp(), luaK_indexed(), luaK_infix(), luaK_self(), luaK_storevar(), and recfield().
Definition at line 436 of file lcode.c.
References hasjumps, luaK_dischargevars(), and luaK_exp2anyreg().
Referenced by luaK_exp2RK(), luaK_posfix(), and yindex().
LUAI_FUNC void luaK_fixline | ( | FuncState * | fs, | |
int | line | |||
) |
Definition at line 792 of file lcode.c.
References FuncState::f, Proto::lineinfo, and FuncState::pc.
Referenced by forbody(), funcargs(), and funcstat().
LUAI_FUNC int luaK_getlabel | ( | FuncState * | fs | ) |
Definition at line 94 of file lcode.c.
References FuncState::lasttarget, and FuncState::pc.
Referenced by code_label(), exp2reg(), luaK_patchtohere(), repeatstat(), and whilestat().
Definition at line 539 of file lcode.c.
References expdesc::f, invertjump(), jumponcond(), expdesc::k, luaK_concat(), luaK_dischargevars(), luaK_jump(), luaK_patchtohere(), NO_JUMP, expdesc::s, expdesc::t, expdesc::u, VFALSE, VJMP, VK, VKNUM, and VTRUE.
Referenced by cond(), and luaK_infix().
Definition at line 629 of file lcode.c.
References expdesc::k, luaK_exp2RK(), expdesc::s, expdesc::u, and VINDEXED.
Referenced by field(), and primaryexp().
Definition at line 718 of file lcode.c.
References isnumeral(), luaK_exp2nextreg(), luaK_exp2RK(), luaK_goiffalse(), luaK_goiftrue(), OPR_ADD, OPR_AND, OPR_CONCAT, OPR_DIV, OPR_MOD, OPR_MUL, OPR_OR, OPR_POW, and OPR_SUB.
Referenced by subexpr().
LUAI_FUNC int luaK_jump | ( | FuncState * | fs | ) |
Definition at line 59 of file lcode.c.
References FuncState::jpc, luaK_codeAsBx, luaK_concat(), NO_JUMP, and OP_JMP.
Referenced by breakstat(), condjump(), exp2reg(), forbody(), ifstat(), luaK_goiffalse(), luaK_goiftrue(), repeatstat(), and whilestat().
LUAI_FUNC void luaK_nil | ( | FuncState * | fs, | |
int | from, | |||
int | n | |||
) |
Definition at line 35 of file lcode.c.
References Proto::code, FuncState::f, GET_OPCODE, GETARG_A, GETARG_B, FuncState::lasttarget, luaK_codeABC(), FuncState::nactvar, OP_LOADNIL, FuncState::pc, and SETARG_B.
Referenced by adjust_assign(), and discharge2reg().
LUAI_FUNC int luaK_numberK | ( | FuncState * | fs, | |
lua_Number | r | |||
) |
Definition at line 257 of file lcode.c.
References addk(), and setnvalue.
Referenced by discharge2reg(), fornum(), and luaK_exp2RK().
LUAI_FUNC void luaK_patchlist | ( | FuncState * | fs, | |
int | list, | |||
int | target | |||
) |
Definition at line 169 of file lcode.c.
References lua_assert, luaK_patchtohere(), NO_REG, patchlistaux(), and FuncState::pc.
Referenced by forbody(), repeatstat(), and whilestat().
LUAI_FUNC void luaK_patchtohere | ( | FuncState * | fs, | |
int | list | |||
) |
Definition at line 179 of file lcode.c.
References FuncState::jpc, luaK_concat(), and luaK_getlabel().
Referenced by exp2reg(), forbody(), ifstat(), leaveblock(), luaK_goiffalse(), luaK_goiftrue(), luaK_patchlist(), repeatstat(), and whilestat().
Definition at line 745 of file lcode.c.
References codearith(), codecomp(), expdesc::f, freeexp(), GET_OPCODE, GETARG_B, getcode, expdesc::k, lua_assert, luaK_concat(), luaK_dischargevars(), luaK_exp2nextreg(), luaK_exp2val(), NO_JUMP, OP_ADD, OP_CONCAT, OP_DIV, OP_EQ, OP_LE, OP_LT, OP_MOD, OP_MUL, OP_POW, OP_SUB, OPR_ADD, OPR_AND, OPR_CONCAT, OPR_DIV, OPR_EQ, OPR_GE, OPR_GT, OPR_LE, OPR_LT, OPR_MOD, OPR_MUL, OPR_NE, OPR_OR, OPR_POW, OPR_SUB, expdesc::s, SETARG_B, expdesc::t, expdesc::u, and VRELOCABLE.
Referenced by subexpr().
Definition at line 697 of file lcode.c.
References codearith(), codenot(), expdesc::f, isnumeral(), expdesc::k, lua_assert, luaK_exp2anyreg(), NO_JUMP, expdesc::nval, OP_LEN, OP_UNM, OPR_LEN, OPR_MINUS, OPR_NOT, expdesc::t, expdesc::u, and VKNUM.
Referenced by subexpr().
LUAI_FUNC void luaK_reserveregs | ( | FuncState * | fs, | |
int | n | |||
) |
Definition at line 209 of file lcode.c.
References FuncState::freereg, and luaK_checkstack().
Referenced by adjust_assign(), check_conflict(), discharge2anyreg(), forbody(), fornum(), localfunc(), luaK_exp2nextreg(), luaK_self(), luaK_setreturns(), and parlist().
LUAI_FUNC void luaK_ret | ( | FuncState * | fs, | |
int | first, | |||
int | nret | |||
) |
Definition at line 69 of file lcode.c.
References luaK_codeABC(), and OP_RETURN.
Referenced by close_func(), and retstat().
Definition at line 503 of file lcode.c.
References freeexp(), FuncState::freereg, expdesc::k, luaK_codeABC(), luaK_exp2anyreg(), luaK_exp2RK(), luaK_reserveregs(), OP_SELF, expdesc::s, expdesc::u, and VNONRELOC.
Referenced by primaryexp().
LUAI_FUNC void luaK_setlist | ( | FuncState * | fs, | |
int | base, | |||
int | nelems, | |||
int | tostore | |||
) |
Definition at line 827 of file lcode.c.
References cast, FuncState::freereg, LexState::lastline, LFIELDS_PER_FLUSH, FuncState::ls, lua_assert, LUA_MULTRET, luaK_code(), luaK_codeABC(), MAXARG_C, and OP_SETLIST.
Referenced by closelistfield(), and lastlistfield().
Definition at line 292 of file lcode.c.
References GETARG_A, getcode, expdesc::k, expdesc::s, SETARG_B, expdesc::u, VCALL, VNONRELOC, VRELOCABLE, and VVARARG.
Referenced by assignment(), and luaK_dischargevars().
Definition at line 280 of file lcode.c.
References FuncState::freereg, getcode, expdesc::k, luaK_reserveregs(), SETARG_A, SETARG_B, SETARG_C, VCALL, and VVARARG.
Referenced by adjust_assign().
Definition at line 472 of file lcode.c.
References exp2reg(), freeexp(), expdesc::k, lua_assert, luaK_codeABC(), luaK_codeABx(), luaK_exp2anyreg(), luaK_exp2RK(), OP_SETGLOBAL, OP_SETTABLE, OP_SETUPVAL, expdesc::s, expdesc::u, VGLOBAL, VINDEXED, VLOCAL, and VUPVAL.
Referenced by assignment(), funcstat(), and localfunc().
Definition at line 250 of file lcode.c.
References addk(), FuncState::L, and setsvalue.
Referenced by codestring(), and singlevar().
ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:49:59 2011 by Doxygen 1.6.1