浏览该文件的文档.
45 #define foldbinop(op) ((op) <= OPR_SHR)
48 #define luaK_codeABC(fs,o,a,b,c) luaK_codeABCk(fs,o,a,b,c,0)
55 #define getinstruction(fs,e) ((fs)->f->code[(e)->u.info])
58 #define luaK_setmultret(fs,e) luaK_setreturns(fs, e, LUA_MULTRET)
60 #define luaK_jumpto(fs,t) luaK_patchlist(fs, luaK_jump(fs), t)
98 int ra,
int asize,
int hsize);
#define foldbinop(op)
Definition: lcode.h:45
struct Dyndata::@10 actvar
#define luaL_optstring(L, n, d)
Definition: lauxlib.h:139
Table * h
Definition: llex.h:74
int luaK_exp2anyreg(FuncState *fs, expdesc *e)
Definition: lcode.c:945
static int luaB_tostring(lua_State *L)
Definition: lbaselib.c:477
struct expdesc::@6::@7 ind
LUAI_FUNC int luaK_codeAsBx(FuncState *fs, OpCode o, int A, int Bx)
Definition: lcode.c:426
@ OPR_GE
Definition: lcode.h:37
#define LUA_GCSTOP
Definition: lua.h:319
@ VLOCAL
Definition: lparser.h:38
@ OP_SETLIST
Definition: lopcodes.h:300
int luaK_codeABCk(FuncState *fs, OpCode o, int a, int b, int c, int k)
Definition: lcode.c:405
#define LUA_TFUNCTION
Definition: lua.h:71
#define lua_pushliteral(L, s)
Definition: lua.h:381
int luaO_rawarith(lua_State *L, int op, const TValue *p1, const TValue *p2, TValue *res)
Definition: lobject.c:89
void luaK_goiffalse(FuncState *fs, expdesc *e)
Definition: lcode.c:1151
LUA_API void lua_rotate(lua_State *L, int idx, int n)
Definition: lapi.c:217
LUAI_FUNC int luaK_exp2RK(FuncState *fs, expdesc *e)
Definition: lcode.c:1019
LUAMOD_API int luaopen_base(lua_State *L)
Definition: lbaselib.c:515
@ VJMP
Definition: lparser.h:55
struct expdesc::@6::@8 var
#define LUA_OPUNM
Definition: lua.h:217
int info
Definition: lparser.h:74
#define lua_assert(c)
Definition: lauxlib.h:169
void luaK_fixline(FuncState *fs, int line)
Definition: lcode.c:1734
signed char ls_byte
Definition: llimits.h:37
LUALIB_API int luaL_getmetafield(lua_State *L, int obj, const char *event)
Definition: lauxlib.c:835
static Instruction * previousinstruction(FuncState *fs)
Definition: lcode.c:115
LUAI_FUNC void luaK_prefix(FuncState *fs, UnOpr op, expdesc *v, int line)
Definition: lcode.c:1561
@ OPR_AND
Definition: lcode.h:39
LUA_UNSIGNED lua_Unsigned
Definition: lua.h:97
@ VCONST
Definition: lparser.h:41
@ TM_SUB
Definition: ltm.h:26
@ OP_SELF
Definition: lopcodes.h:224
LUA_API int lua_geti(lua_State *L, int idx, lua_Integer n)
Definition: lapi.c:671
#define LUAI_FUNC
Definition: luaconf.h:307
#define cast_byte(i)
Definition: llimits.h:130
#define l_noret
Definition: llimits.h:178
#define cast(t, exp)
Definition: llimits.h:123
#define lua_pushglobaltable(L)
Definition: lua.h:383
Instruction * code
Definition: lobject.h:545
static int patchtestreg(FuncState *fs, int node, int reg)
Definition: lcode.c:258
int previousline
Definition: lparser.h:151
#define hasjumps(e)
Definition: lcode.c:37
#define LUA_GCINC
Definition: lua.h:329
int lasttarget
Definition: lparser.h:150
#define LUA_MULTRET
Definition: lua.h:36
@ VUPVAL
Definition: lparser.h:40
int pc
Definition: lobject.h:523
static int validop(int op, TValue *v1, TValue *v2)
Definition: lcode.c:1305
static int tonumeral(const expdesc *e, TValue *v)
Definition: lcode.c:55
#define GETARG_B(i)
Definition: lopcodes.h:128
static int isSCint(expdesc *e)
Definition: lcode.c:1237
#define lua_tostring(L, i)
Definition: lua.h:386
int nabslineinfo
Definition: lparser.h:154
static void freeregs(FuncState *fs, int r1, int r2)
Definition: lcode.c:510
int sizeabslineinfo
Definition: lobject.h:541
#define SETARG_k(i, v)
Definition: lopcodes.h:138
#define LUA_OK
Definition: lua.h:49
@ OP_TAILCALL
Definition: lopcodes.h:286
LUAI_FUNC int luaK_jump(FuncState *fs)
Definition: lcode.c:198
#define LUA_OPDIV
Definition: lua.h:210
void luaK_patchlist(FuncState *fs, int list, int target)
Definition: lcode.c:305
LUAI_FUNC void luaK_fixline(FuncState *fs, int line)
Definition: lcode.c:1734
Definition: lparser.h:144
LUA_API const char * lua_pushstring(lua_State *L, const char *s)
Definition: lapi.c:514
#define luaL_checkstring(L, n)
Definition: lauxlib.h:138
@ OP_SHR
Definition: lopcodes.h:255
@ OPR_NOUNOPR
Definition: lcode.h:51
#define lua_replace(L, idx)
Definition: lua.h:393
@ OPR_NOT
Definition: lcode.h:51
@ VNONRELOC
Definition: lparser.h:36
#define OFFSET_sC
Definition: lopcodes.h:98
void luaK_setlist(FuncState *fs, int base, int nelems, int tostore)
Definition: lcode.c:1758
#define setsvalue(L, obj, x)
Definition: lobject.h:349
@ OP_ADDI
Definition: lopcodes.h:226
static int luaB_rawequal(lua_State *L)
Definition: lbaselib.c:149
#define LUA_TSTRING
Definition: lua.h:69
@ OP_GETUPVAL
Definition: lopcodes.h:209
#define LUA_TTABLE
Definition: lua.h:70
#define MAXREGS
Definition: lcode.c:34
#define LUA_GCISRUNNING
Definition: lua.h:327
static int cond(LexState *ls)
Definition: lparser.c:1394
#define LUA_GCGEN
Definition: lua.h:328
#define GETARG_A(i)
Definition: lopcodes.h:125
static int luaB_load(lua_State *L)
Definition: lbaselib.c:365
LUAI_FUNC void luaK_infix(FuncState *fs, BinOpr op, expdesc *v)
Definition: lcode.c:1582
LUA_API void lua_pushinteger(lua_State *L, lua_Integer n)
Definition: lapi.c:489
static void discharge2anyreg(FuncState *fs, expdesc *e)
Definition: lcode.c:871
#define isIT(i)
Definition: lopcodes.h:383
#define MAXARG_B
Definition: lopcodes.h:96
LUALIB_API int luaL_loadbufferx(lua_State *L, const char *buff, size_t size, const char *name, const char *mode)
Definition: lauxlib.c:818
#define LUA_OPBAND
Definition: lua.h:212
static int codeextraarg(FuncState *fs, int a)
Definition: lcode.c:448
#define LUA_GNAME
Definition: lauxlib.h:19
#define LUA_GCSTEP
Definition: lua.h:324
#define CREATE_sJ(o, j, k)
Definition: lopcodes.h:169
static int need_value(FuncState *fs, int list)
Definition: lcode.c:889
static int luaB_rawget(lua_State *L)
Definition: lbaselib.c:166
#define lua_remove(L, idx)
Definition: lua.h:391
LUAI_FUNC void luaK_setreturns(FuncState *fs, expdesc *e, int nresults)
Definition: lcode.c:712
#define LUA_VNUMINT
Definition: lobject.h:301
static int code_loadbool(FuncState *fs, int A, OpCode op)
Definition: lcode.c:879
static void freeexps(FuncState *fs, expdesc *e1, expdesc *e2)
Definition: lcode.c:535
@ OP_CONCAT
Definition: lopcodes.h:266
LUAI_FUNC int luaK_exp2const(FuncState *fs, const expdesc *e, TValue *v)
Definition: lcode.c:83
#define sethvalue(L, obj, x)
Definition: lobject.h:661
#define lua_pop(L, n)
Definition: lua.h:364
#define CREATE_ABx(o, a, bc)
Definition: lopcodes.h:162
struct lua_State * L
Definition: llex.h:71
#define LUA_VNUMFLT
Definition: lobject.h:302
static int luaB_xpcall(lua_State *L)
Definition: lbaselib.c:465
LUAI_FUNC l_noret luaK_semerror(LexState *ls, const char *msg)
Definition: lcode.c:45
static int finishpcall(lua_State *L, int status, lua_KContext extra)
Definition: lbaselib.c:439
LUAI_FUNC void luaK_goiffalse(FuncState *fs, expdesc *e)
Definition: lcode.c:1151
LUAI_FUNC void luaK_storevar(FuncState *fs, expdesc *var, expdesc *e)
Definition: lcode.c:1039
#define LUA_OPADD
Definition: lua.h:205
@ OP_LOADTRUE
Definition: lopcodes.h:207
@ OP_LTI
Definition: lopcodes.h:277
LUAI_FUNC void luaK_patchlist(FuncState *fs, int list, int target)
Definition: lcode.c:305
@ OPR_MOD
Definition: lcode.h:28
#define CREATE_Ax(o, a)
Definition: lopcodes.h:166
LUALIB_API int luaL_checkoption(lua_State *L, int arg, const char *def, const char *const lst[])
Definition: lauxlib.c:360
LUA_API void lua_concat(lua_State *L, int n)
Definition: lapi.c:1260
#define ttisinteger(o)
Definition: lobject.h:306
lu_byte is_vararg
Definition: lobject.h:533
LUA_API lua_Unsigned lua_rawlen(lua_State *L, int idx)
Definition: lapi.c:402
#define lua_isnoneornil(L, n)
Definition: lua.h:379
#define cast_uint(i)
Definition: llimits.h:129
static int luaK_exp2K(FuncState *fs, expdesc *e)
Definition: lcode.c:989
Vardesc * arr
Definition: lparser.h:130
TString * strval
Definition: lparser.h:73
LUAI_FUNC void luaK_ret(FuncState *fs, int first, int nret)
Definition: lcode.c:206
static const char * b_str2int(const char *s, int base, lua_Integer *pn)
Definition: lbaselib.c:60
#define luai_numisnan(a)
Definition: llimits.h:344
LUA_NUMBER lua_Number
Definition: lua.h:90
@ OPR_GT
Definition: lcode.h:37
@ OPR_MUL
Definition: lcode.h:28
#define LUA_OPBXOR
Definition: lua.h:214
@ OPR_SHL
Definition: lcode.h:32
@ iABx
Definition: lopcodes.h:32
static int dofilecont(lua_State *L, int d1, lua_KContext d2)
Definition: lbaselib.c:387
LUA_API int lua_isstring(lua_State *L, int idx)
Definition: lapi.c:292
#define LUA_VFALSE
Definition: lobject.h:217
Proto * f
Definition: lparser.h:145
@ VKFLT
Definition: lparser.h:32
@ OPR_BOR
Definition: lcode.h:31
@ VINDEXED
Definition: lparser.h:43
#define CREATE_ABCk(o, a, b, c, k)
Definition: lopcodes.h:156
LUA_API int lua_type(lua_State *L, int idx)
Definition: lapi.c:260
static int load_aux(lua_State *L, int status, int envidx)
Definition: lbaselib.c:301
@ TM_SHL
Definition: ltm.h:35
@ OPR_LEN
Definition: lcode.h:51
static int luaB_next(lua_State *L)
Definition: lbaselib.c:251
LUA_API const char * lua_tolstring(lua_State *L, int idx, size_t *len)
Definition: lapi.c:381
void luaK_infix(FuncState *fs, BinOpr op, expdesc *v)
Definition: lcode.c:1582
#define luaL_loadfile(L, f)
Definition: lauxlib.h:94
LUAI_FUNC void luaK_finish(FuncState *fs)
Definition: lcode.c:1794
@ OP_LOADI
Definition: lopcodes.h:201
#define GETARG_k(i)
Definition: lopcodes.h:137
@ OPR_DIV
Definition: lcode.h:29
int sizecode
Definition: lobject.h:537
LUA_API const char * lua_typename(lua_State *L, int t)
Definition: lapi.c:266
@ OPR_NOBINOPR
Definition: lcode.h:40
static int luaB_getmetatable(lua_State *L)
Definition: lbaselib.c:126
void luaK_posfix(FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2, int line)
Definition: lcode.c:1650
struct LexState * ls
Definition: lparser.h:147
LUA_API int lua_setmetatable(lua_State *L, int objindex)
Definition: lapi.c:909
@ OP_LOADF
Definition: lopcodes.h:202
#define cast_voidp(i)
Definition: llimits.h:126
static void str2K(FuncState *fs, expdesc *e)
Definition: lcode.c:728
static void swapexps(expdesc *e1, expdesc *e2)
Definition: lcode.c:1425
#define LFIELDS_PER_FLUSH
Definition: lopcodes.h:390
static void codeorder(FuncState *fs, OpCode op, expdesc *e1, expdesc *e2)
Definition: lcode.c:1500
LUA_API void lua_pushnumber(lua_State *L, lua_Number n)
Definition: lapi.c:481
static int constfolding(FuncState *fs, int op, expdesc *e1, const expdesc *e2)
Definition: lcode.c:1323
@ OP_LOADFALSE
Definition: lopcodes.h:205
@ OP_UNM
Definition: lopcodes.h:261
int luaK_exp2RK(FuncState *fs, expdesc *e)
Definition: lcode.c:1019
#define luaL_argexpected(L, cond, arg, tname)
Definition: lauxlib.h:135
@ OP_MOVE
Definition: lopcodes.h:200
#define tointegerns(o, i)
Definition: lvm.h:67
struct Dyndata * dyd
Definition: llex.h:75
LUAI_FUNC int luaK_code(FuncState *fs, Instruction i)
Definition: lcode.c:390
static Instruction * getjumpcontrol(FuncState *fs, int pc)
Definition: lcode.c:242
#define GETARG_sJ(i)
Definition: lopcodes.h:150
@ OPR_EQ
Definition: lcode.h:36
static int luaB_type(lua_State *L)
Definition: lbaselib.c:243
#define luaV_rawequalobj(t1, t2)
Definition: lvm.h:73
static void freeexp(FuncState *fs, expdesc *e)
Definition: lcode.c:525
lu_byte numparams
Definition: lobject.h:532
#define setnilvalue(obj)
Definition: lobject.h:178
LUAI_FUNC void luaK_indexed(FuncState *fs, expdesc *t, expdesc *k)
Definition: lcode.c:1269
#define lua_writestring(s, l)
Definition: lauxlib.h:251
@ OP_GETI
Definition: lopcodes.h:214
@ VNIL
Definition: lparser.h:28
@ OPR_ADD
Definition: lcode.h:28
#define MAXARG_Bx
Definition: lopcodes.h:74
@ TM_SHR
Definition: ltm.h:36
#define fltvalue(o)
Definition: lobject.h:310
#define RESERVEDSLOT
Definition: lbaselib.c:339
int luaK_code(FuncState *fs, Instruction i)
Definition: lcode.c:390
#define SETARG_C(i, v)
Definition: lopcodes.h:134
@ OPR_SUB
Definition: lcode.h:28
static int jumponcond(FuncState *fs, expdesc *e, int cond)
Definition: lcode.c:1106
int dummy
Definition: lstrlib.c:1347
static void codebini(FuncState *fs, OpCode op, expdesc *e1, expdesc *e2, int flip, int line, TMS event)
Definition: lcode.c:1394
#define SET_OPCODE(i, o)
Definition: lopcodes.h:115
static void codebitwise(FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2, int line)
Definition: lcode.c:1474
@ OP_NOT
Definition: lopcodes.h:263
static int luaK_intK(FuncState *fs, lua_Integer n)
Definition: lcode.c:596
LUA_API void lua_rawset(lua_State *L, int idx)
Definition: lapi.c:885
static int nilK(FuncState *fs)
Definition: lcode.c:636
int luaK_jump(FuncState *fs)
Definition: lcode.c:198
#define ivalue(o)
Definition: lobject.h:311
#define LUA_GCRESTART
Definition: lua.h:320
static void codeABRK(FuncState *fs, OpCode o, int a, int b, expdesc *ec)
Definition: lcode.c:1029
#define setbfvalue(obj)
Definition: lobject.h:228
#define lua_insert(L, idx)
Definition: lua.h:389
static int luaB_rawlen(lua_State *L)
Definition: lbaselib.c:157
@ OP_SETI
Definition: lopcodes.h:219
#define LUA_OPIDIV
Definition: lua.h:211
int luaK_codeAsBx(FuncState *fs, OpCode o, int a, int bc)
Definition: lcode.c:426
void luaK_exp2anyregup(FuncState *fs, expdesc *e)
Definition: lcode.c:967
AbsLineInfo * abslineinfo
Definition: lobject.h:549
LUAI_FUNC void luaK_nil(FuncState *fs, int from, int n)
Definition: lcode.c:130
LUA_API int lua_rawget(lua_State *L, int idx)
Definition: lapi.c:708
void luaK_patchtohere(FuncState *fs, int list)
Definition: lcode.c:311
LUAI_FUNC int luaK_exp2anyreg(FuncState *fs, expdesc *e)
Definition: lcode.c:945
int f
Definition: lparser.h:85
static void codeconcat(FuncState *fs, expdesc *e1, expdesc *e2, int line)
Definition: lcode.c:1630
@ OP_EXTRAARG
Definition: lopcodes.h:308
@ OP_GEI
Definition: lopcodes.h:280
l_noret luaX_syntaxerror(LexState *ls, const char *msg)
Definition: llex.c:119
void luaK_int(FuncState *fs, int reg, lua_Integer i)
Definition: lcode.c:663
@ OP_MMBINI
Definition: lopcodes.h:258
void luaK_storevar(FuncState *fs, expdesc *var, expdesc *ex)
Definition: lcode.c:1039
LUA_API void lua_setfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:847
@ OP_RETURN0
Definition: lopcodes.h:289
void lua_warning(lua_State *L, const char *msg, int tocont)
Definition: lapi.c:1310
int line
Definition: lobject.h:524
LUAI_FUNC void luaK_reserveregs(FuncState *fs, int n)
Definition: lcode.c:488
int luaO_ceillog2(unsigned int x)
Definition: lobject.c:35
@ OPR_IDIV
Definition: lcode.h:29
LUAI_FUNC void luaK_int(FuncState *fs, int reg, lua_Integer n)
Definition: lcode.c:663
static int luaB_warn(lua_State *L)
Definition: lbaselib.c:45
static int luaB_loadfile(lua_State *L)
Definition: lbaselib.c:318
const TValue * luaH_get(Table *t, const TValue *key)
Definition: ltable.c:756
#define LUA_VLNGSTR
Definition: lobject.h:339
#define LUA_VSHRSTR
Definition: lobject.h:338
@ VTRUE
Definition: lparser.h:29
#define SETARG_A(i, v)
Definition: lopcodes.h:126
Definition: lobject.h:364
LUA_KCONTEXT lua_KContext
Definition: lua.h:100
#define LUA_OPMOD
Definition: lua.h:208
LUAI_FUNC void luaK_patchtohere(FuncState *fs, int list)
Definition: lcode.c:311
@ OP_SETTABLE
Definition: lopcodes.h:218
#define LUA_VTRUE
Definition: lobject.h:218
int nk
Definition: lparser.h:152
#define setpvalue(obj, x)
Definition: lobject.h:419
@ OP_SHRI
Definition: lopcodes.h:240
int luaV_flttointeger(lua_Number n, lua_Integer *p, F2Imod mode)
Definition: lvm.c:121
int sizek
Definition: lobject.h:536
#define LUA_TNUMBER
Definition: lua.h:68
@ VINDEXUP
Definition: lparser.h:46
lu_byte needclose
Definition: lparser.h:162
@ VK
Definition: lparser.h:31
#define setobj(L, obj1, obj2)
Definition: lobject.h:116
LUA_API void lua_callk(lua_State *L, int nargs, int nresults, lua_KContext ctx, lua_KFunction k)
Definition: lapi.c:979
#define LUA_GCCOUNT
Definition: lua.h:322
@ TM_ADD
Definition: ltm.h:25
int pc
Definition: lparser.h:149
LUALIB_API void luaL_checkany(lua_State *L, int arg)
Definition: lauxlib.c:396
#define LIMLINEDIFF
Definition: lcode.c:327
ls_byte * lineinfo
Definition: lobject.h:548
@ OP_ADD
Definition: lopcodes.h:243
#define testTMode(m)
Definition: lopcodes.h:372
@ VFALSE
Definition: lparser.h:30
@ OP_EQK
Definition: lopcodes.h:275
#define LUA_VNIL
Definition: lobject.h:161
@ OPR_CONCAT
Definition: lcode.h:34
expkind k
Definition: lparser.h:69
#define SPACECHARS
Definition: lbaselib.c:58
@ OP_SHLI
Definition: lopcodes.h:241
static void const2exp(TValue *v, expdesc *e)
Definition: lcode.c:683
@ F2Ieq
Definition: lvm.h:44
LUAI_FUNC void luaK_exp2anyregup(FuncState *fs, expdesc *e)
Definition: lcode.c:967
LUAI_FUNC void luaK_setoneret(FuncState *fs, expdesc *e)
Definition: lcode.c:745
#define OFFSET_sBx
Definition: lopcodes.h:77
static int luaB_select(lua_State *L)
Definition: lbaselib.c:416
@ VINDEXSTR
Definition: lparser.h:52
@ OP_EQI
Definition: lopcodes.h:276
LUAI_FUNC void luaK_self(FuncState *fs, expdesc *e, expdesc *key)
Definition: lcode.c:1076
LUAI_FUNC void luaK_checkstack(FuncState *fs, int n)
Definition: lcode.c:474
@ OP_LOADK
Definition: lopcodes.h:203
LUAI_FUNC void luaK_settablesize(FuncState *fs, int pc, int ra, int asize, int hsize)
Definition: lcode.c:1740
@ VRELOC
Definition: lparser.h:57
lua_Integer ival
Definition: lparser.h:71
void luaK_ret(FuncState *fs, int first, int nret)
Definition: lcode.c:206
#define luaL_argcheck(L, cond, arg, extramsg)
Definition: lauxlib.h:132
@ VKSTR
Definition: lparser.h:34
void luaK_settablesize(FuncState *fs, int pc, int ra, int asize, int hsize)
Definition: lcode.c:1740
#define MAXARG_C
Definition: lopcodes.h:97
LUAI_FUNC int luaK_codeABCk(FuncState *fs, OpCode o, int A, int B, int C, int k)
Definition: lcode.c:405
LUAI_FUNC void luaK_setlist(FuncState *fs, int base, int nelems, int tostore)
Definition: lcode.c:1758
LUA_API int lua_gettop(lua_State *L)
Definition: lapi.c:168
TValue k
Definition: lparser.h:104
#define SETARG_sJ(i, j)
Definition: lopcodes.h:152
LUAI_FUNC void luaK_concat(FuncState *fs, int *l1, int l2)
Definition: lcode.c:180
static int finaltarget(Instruction *code, int i)
Definition: lcode.c:1777
LUA_INTEGER lua_Integer
Definition: lua.h:94
#define lua_isnil(L, n)
Definition: lua.h:375
@ OPR_MINUS
Definition: lcode.h:51
LUA_API void lua_settop(lua_State *L, int idx)
Definition: lapi.c:173
#define MAXARG_Ax
Definition: lopcodes.h:83
static void discharge2reg(FuncState *fs, expdesc *e, int reg)
Definition: lcode.c:816
LUA_API void lua_pushboolean(lua_State *L, int b)
Definition: lapi.c:581
static void finishbinexpval(FuncState *fs, expdesc *e1, expdesc *e2, OpCode op, int v2, int flip, int line, OpCode mmop, TMS event)
Definition: lcode.c:1364
LUA_API void lua_pushvalue(lua_State *L, int idx)
Definition: lapi.c:246
void luaK_exp2val(FuncState *fs, expdesc *e)
Definition: lcode.c:977
Definition: lobject.h:522
@ OPR_BXOR
Definition: lcode.h:31
LUAI_FUNC void luaK_exp2nextreg(FuncState *fs, expdesc *e)
Definition: lcode.c:933
@ OPR_BNOT
Definition: lcode.h:51
LUALIB_API int luaL_loadfilex(lua_State *L, const char *filename, const char *mode)
Definition: lauxlib.c:766
LUALIB_API void luaL_checktype(lua_State *L, int arg, int t)
Definition: lauxlib.c:390
TValue * k
Definition: lobject.h:544
#define LUA_TNONE
Definition: lua.h:63
void luaK_nil(FuncState *fs, int from, int n)
Definition: lcode.c:130
#define ttypetag(o)
Definition: lobject.h:82
static int luaB_ipairs(lua_State *L)
Definition: lbaselib.c:292
#define l_castS2U(i)
Definition: llimits.h:139
#define lua_pushcfunction(L, f)
Definition: lua.h:370
@ iABC
Definition: lopcodes.h:32
LUA_API int lua_getmetatable(lua_State *L, int objindex)
Definition: lapi.c:751
static int boolT(FuncState *fs)
Definition: lcode.c:626
static int boolF(FuncState *fs)
Definition: lcode.c:616
int sizelineinfo
Definition: lobject.h:538
int luaK_getlabel(FuncState *fs)
Definition: lcode.c:231
lu_byte maxstacksize
Definition: lobject.h:534
#define int2sC(i)
Definition: lopcodes.h:100
#define cast_sizet(i)
Definition: llimits.h:134
#define LUA_YIELD
Definition: lua.h:50
static int codesJ(FuncState *fs, OpCode o, int sj, int k)
Definition: lcode.c:437
#define luaM_growvector(L, v, nelems, size, t, limit, e)
Definition: lmem.h:66
#define lua_call(L, n, r)
Definition: lua.h:283
#define tsvalue(o)
Definition: lobject.h:347
@ OPR_LE
Definition: lcode.h:36
@ OP_GETFIELD
Definition: lopcodes.h:215
static void codeeq(FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2)
Definition: lcode.c:1530
LUA_API int lua_rawequal(lua_State *L, int index1, int index2)
Definition: lapi.c:304
BinOpr
Definition: lcode.h:26
static int getjump(FuncState *fs, int pc)
Definition: lcode.c:153
l_uint32 Instruction
Definition: llimits.h:194
static const char * generic_reader(lua_State *L, void *ud, size_t *size)
Definition: lbaselib.c:348
LUA_API int lua_pcallk(lua_State *L, int nargs, int nresults, int errfunc, lua_KContext ctx, lua_KFunction k)
Definition: lapi.c:1018
static void negatecondition(FuncState *fs, expdesc *e)
Definition: lcode.c:1092
static void codecommutative(FuncState *fs, BinOpr op, expdesc *e1, expdesc *e2, int line)
Definition: lcode.c:1456
void luaK_checkstack(FuncState *fs, int n)
Definition: lcode.c:474
@ isJ
Definition: lopcodes.h:32
OpCode
Definition: lopcodes.h:196
@ OP_TESTSET
Definition: lopcodes.h:283
#define LUA_TNIL
Definition: lua.h:65
static void luaK_float(FuncState *fs, int reg, lua_Number f)
Definition: lcode.c:671
@ OP_LOADKX
Definition: lopcodes.h:204
static int luaB_error(lua_State *L)
Definition: lbaselib.c:114
#define LUAMOD_API
Definition: luaconf.h:286
#define LUA_GCCOLLECT
Definition: lua.h:321
#define SETARG_B(i, v)
Definition: lopcodes.h:130
static int luaB_pcall(lua_State *L)
Definition: lbaselib.c:450
@ OP_SETFIELD
Definition: lopcodes.h:220
static int luaK_numberK(FuncState *fs, lua_Number r)
Definition: lcode.c:606
#define getOpMode(m)
Definition: lopcodes.h:370
#define setivalue(obj, x)
Definition: lobject.h:322
void luaK_prefix(FuncState *fs, UnOpr op, expdesc *e, int line)
Definition: lcode.c:1561
@ VKINT
Definition: lparser.h:33
static int pushmode(lua_State *L, int oldmode)
Definition: lbaselib.c:184
static void exp2reg(FuncState *fs, expdesc *e, int reg)
Definition: lcode.c:905
static int condjump(FuncState *fs, OpCode op, int A, int B, int C, int k)
Definition: lcode.c:221
@ OPR_POW
Definition: lcode.h:28
LUALIB_API void luaL_setfuncs(lua_State *L, const luaL_Reg *l, int nup)
Definition: lauxlib.c:916
LUALIB_API lua_Integer luaL_optinteger(lua_State *L, int arg, lua_Integer def)
Definition: lauxlib.c:452
void luaK_setoneret(FuncState *fs, expdesc *e)
Definition: lcode.c:745
@ OP_TEST
Definition: lopcodes.h:282
#define GET_OPCODE(i)
Definition: lopcodes.h:114
int luaK_exp2const(FuncState *fs, const expdesc *e, TValue *v)
Definition: lcode.c:83
@ VCALL
Definition: lparser.h:59
Definition: lobject.h:530
lu_byte freereg
Definition: lparser.h:160
#define lua_writeline()
Definition: lauxlib.h:256
@ OPR_SHR
Definition: lcode.h:32
static int isKstr(FuncState *fs, expdesc *e)
Definition: lcode.c:1211
static int addk(FuncState *fs, TValue *key, TValue *v)
Definition: lcode.c:551
static int digit(int c)
Definition: lstrlib.c:1401
static int luaK_codek(FuncState *fs, int reg, int k)
Definition: lcode.c:459
LUA_API int lua_next(lua_State *L, int idx)
Definition: lapi.c:1227
LUALIB_API void luaL_checkstack(lua_State *L, int space, const char *msg)
Definition: lauxlib.c:380
int luaY_nvarstack(FuncState *fs)
Definition: lparser.c:243
#define MAX_INT
Definition: llimits.h:53
int luaK_isKint(expdesc *e)
Definition: lcode.c:1219
static void removevalues(FuncState *fs, int list)
Definition: lcode.c:276
#define MAXARG_sJ
Definition: lopcodes.h:89
LUALIB_API int luaL_error(lua_State *L, const char *fmt,...)
Definition: lauxlib.c:234
LUALIB_API const char * luaL_tolstring(lua_State *L, int idx, size_t *len)
Definition: lauxlib.c:873
LUALIB_API void luaL_where(lua_State *L, int level)
Definition: lauxlib.c:216
@ VVARARG
Definition: lparser.h:60
@ OP_MMBINK
Definition: lopcodes.h:259
LUAI_FUNC void luaK_exp2val(FuncState *fs, expdesc *e)
Definition: lcode.c:977
void luaK_indexed(FuncState *fs, expdesc *t, expdesc *k)
Definition: lcode.c:1269
static int luaB_pairs(lua_State *L)
Definition: lbaselib.c:263
void luaK_setreturns(FuncState *fs, expdesc *e, int nresults)
Definition: lcode.c:712
static void codebinexpval(FuncState *fs, OpCode op, expdesc *e1, expdesc *e2, int line)
Definition: lcode.c:1382
@ OPR_LT
Definition: lcode.h:36
static int isSCnumber(expdesc *e, int *pi, int *isfloat)
Definition: lcode.c:1246
#define lua_isnone(L, n)
Definition: lua.h:378
@ OP_MMBIN
Definition: lopcodes.h:257
static void removelastlineinfo(FuncState *fs)
Definition: lcode.c:361
static int isCint(expdesc *e)
Definition: lcode.c:1228
static void freereg(FuncState *fs, int reg)
Definition: lcode.c:499
LUALIB_API lua_Integer luaL_checkinteger(lua_State *L, int arg)
Definition: lauxlib.c:442
#define isOT(i)
Definition: lopcodes.h:378
static int luaB_dofile(lua_State *L)
Definition: lbaselib.c:393
@ OP_JMP
Definition: lopcodes.h:270
@ OP_ADDK
Definition: lopcodes.h:228
#define NO_REG
Definition: lopcodes.h:182
#define LUA_GCCOUNTB
Definition: lua.h:323
void luaK_finish(FuncState *fs)
Definition: lcode.c:1794
LUA_API size_t lua_stringtonumber(lua_State *L, const char *s)
Definition: lapi.c:347
void luaK_dischargevars(FuncState *fs, expdesc *e)
Definition: lcode.c:763
void luaK_concat(FuncState *fs, int *l1, int l2)
Definition: lcode.c:180
static int fitsC(lua_Integer i)
Definition: lcode.c:650
@ VINDEXI
Definition: lparser.h:49
static int luaB_tonumber(lua_State *L)
Definition: lbaselib.c:81
@ OP_GETTABLE
Definition: lopcodes.h:213
LUA_API void lua_pushnil(lua_State *L)
Definition: lapi.c:473
@ OP_GETTABUP
Definition: lopcodes.h:212
#define LUA_GCSETPAUSE
Definition: lua.h:325
static int luaB_collectgarbage(lua_State *L)
Definition: lbaselib.c:190
static TValue * const2val(FuncState *fs, const expdesc *e)
Definition: lcode.c:73
Token t
Definition: llex.h:68
lua_Number nval
Definition: lparser.h:72
#define setfltvalue(obj, x)
Definition: lobject.h:316
int lastline
Definition: llex.h:67
LUA_API int lua_toboolean(lua_State *L, int idx)
Definition: lapi.c:375
void luaK_goiftrue(FuncState *fs, expdesc *e)
Definition: lcode.c:1124
#define LUA_OPSHR
Definition: lua.h:216
static int ipairsaux(lua_State *L)
Definition: lbaselib.c:281
static void codenot(FuncState *fs, expdesc *e)
Definition: lcode.c:1177
LUAI_FUNC int luaK_isKint(expdesc *e)
Definition: lcode.c:1219
static int fitsBx(lua_Integer i)
Definition: lcode.c:658
static int finishbinexpneg(FuncState *fs, expdesc *e1, expdesc *e2, OpCode op, int line, TMS event)
Definition: lcode.c:1406
static int luaB_rawset(lua_State *L)
Definition: lbaselib.c:174
l_noret luaK_semerror(LexState *ls, const char *msg)
Definition: lcode.c:45
UnOpr
Definition: lcode.h:51
@ OP_EQ
Definition: lopcodes.h:271
@ OPR_OR
Definition: lcode.h:39
#define MAXIWTHABS
Definition: lcode.c:322
@ OP_LFALSESKIP
Definition: lopcodes.h:206
LUAI_FUNC void luaK_posfix(FuncState *fs, BinOpr op, expdesc *v1, expdesc *v2, int line)
Definition: lcode.c:1650
@ OPR_BAND
Definition: lcode.h:31
static int luaB_assert(lua_State *L)
Definition: lbaselib.c:403
#define OFFSET_sJ
Definition: lopcodes.h:92
lu_byte iwthabs
Definition: lparser.h:161
#define LUA_OPBOR
Definition: lua.h:213
static void codearith(FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2, int flip, int line)
Definition: lcode.c:1434
#define setbtvalue(obj)
Definition: lobject.h:229
@ OPR_NE
Definition: lcode.h:37
#define luaK_codeABC(fs, o, a, b, c)
Definition: lcode.h:48
LUA_API int lua_load(lua_State *L, lua_Reader reader, void *data, const char *chunkname, const char *mode)
Definition: lapi.c:1062
#define next(ls)
Definition: llex.c:32
static int luaB_setmetatable(lua_State *L)
Definition: lbaselib.c:137
#define LUA_GCSETSTEPMUL
Definition: lua.h:326
void luaK_reserveregs(FuncState *fs, int n)
Definition: lcode.c:488
#define LUA_OPSHL
Definition: lua.h:215
LUAI_FUNC void luaK_goiftrue(FuncState *fs, expdesc *e)
Definition: lcode.c:1124
#define nvalue(o)
Definition: lobject.h:308
int luaK_codeABx(FuncState *fs, OpCode o, int a, unsigned int bc)
Definition: lcode.c:416
lu_byte t
Definition: lparser.h:77
@ iAsBx
Definition: lopcodes.h:32
void luaK_self(FuncState *fs, expdesc *e, expdesc *key)
Definition: lcode.c:1076
#define GETARG_C(i)
Definition: lopcodes.h:132
void luaH_finishset(lua_State *L, Table *t, const TValue *key, const TValue *slot, TValue *value)
Definition: ltable.c:779
static const luaL_Reg base_funcs[]
Definition: lbaselib.c:484
@ OP_LT
Definition: lopcodes.h:272
static int luaB_print(lua_State *L)
Definition: lbaselib.c:24
LUA_API int lua_gc(lua_State *L, int what,...)
Definition: lapi.c:1108
#define MAXARG_A
Definition: lopcodes.h:95
@ OP_NEWTABLE
Definition: lopcodes.h:222
#define LUA_OPBNOT
Definition: lua.h:218
static void fixjump(FuncState *fs, int pc, int dest)
Definition: lcode.c:166
int token
Definition: llex.h:57
@ OP_RETURN1
Definition: lopcodes.h:290
static void removelastinstruction(FuncState *fs)
Definition: lcode.c:380
#define LUA_VERSION
Definition: lua.h:26
static void savelineinfo(FuncState *fs, Proto *f, int line)
Definition: lcode.c:337
@ OP_SETUPVAL
Definition: lopcodes.h:210
#define luaL_pushfail(L)
Definition: lauxlib.h:157
#define luaC_barrier(L, p, v)
Definition: lgc.h:165
LUAI_FUNC int luaK_codeABx(FuncState *fs, OpCode o, int A, unsigned int Bx)
Definition: lcode.c:416
#define getinstruction(fs, e)
Definition: lcode.h:55
@ OP_LOADNIL
Definition: lopcodes.h:208
@ OP_SHL
Definition: lopcodes.h:254
static void patchlistaux(FuncState *fs, int list, int vtarget, int reg, int dtarget)
Definition: lcode.c:287
#define ABSLINEINFO
Definition: ldebug.h:27
#define NO_JUMP
Definition: lcode.h:20
@ OP_SETTABUP
Definition: lopcodes.h:217
static void codeunexpval(FuncState *fs, OpCode op, expdesc *e, int line)
Definition: lcode.c:1349
LUAI_FUNC void luaK_dischargevars(FuncState *fs, expdesc *e)
Definition: lcode.c:763
static int stringK(FuncState *fs, TString *s)
Definition: lcode.c:583
LUAI_FUNC int luaK_getlabel(FuncState *fs)
Definition: lcode.c:231
LUA_API const char * lua_setupvalue(lua_State *L, int funcindex, int n)
Definition: lapi.c:1373
void luaK_exp2nextreg(FuncState *fs, expdesc *e)
Definition: lcode.c:933
#define ttisshrstring(o)
Definition: lobject.h:342
@ OP_RETURN
Definition: lopcodes.h:288
LUA_API int lua_error(lua_State *L)
Definition: lapi.c:1212
#define cast_int(i)
Definition: llimits.h:128
@ OP_GTI
Definition: lopcodes.h:279
#define MAXINDEXRK
Definition: lopcodes.h:175