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