浏览该文件的文档.
16 #if !defined(LUA_NOCVTN2S)
17 #define cvt2str(o) ttisnumber(o)
23 #if !defined(LUA_NOCVTS2N)
24 #define cvt2num(o) ttisstring(o)
35 #if !defined(LUA_FLOORN2I)
36 #define LUA_FLOORN2I F2Ieq
51 #define tonumber(o,n) \
52 (ttisfloat(o) ? (*(n) = fltvalue(o), 1) : luaV_tonumber_(o,n))
56 #define tonumberns(o,n) \
57 (ttisfloat(o) ? ((n) = fltvalue(o), 1) : \
58 (ttisinteger(o) ? ((n) = cast_num(ivalue(o)), 1) : 0))
62 #define tointeger(o,i) \
63 (ttisinteger(o) ? (*(i) = ivalue(o), 1) : luaV_tointeger(o,i,LUA_FLOORN2I))
67 #define tointegerns(o,i) \
68 (ttisinteger(o) ? (*(i) = ivalue(o), 1) : luaV_tointegerns(o,i,LUA_FLOORN2I))
71 #define intop(op,v1,v2) l_castU2S(l_castS2U(v1) op l_castS2U(v2))
73 #define luaV_rawequalobj(t1,t2) luaV_equalobj(NULL,t1,t2)
83 #define luaV_fastget(L,t,k,slot,f) \
86 : (slot = f(hvalue(t), k), \
94 #define luaV_fastgeti(L,t,k,slot) \
97 : (slot = (l_castS2U(k) - 1u < hvalue(t)->alimit) \
98 ? &hvalue(t)->array[k - 1] : luaH_getint(hvalue(t), k), \
106 #define luaV_finishfastset(L,t,slot,v) \
107 { setobj2t(L, cast(TValue *,slot), v); \
108 luaC_barrierback(L, gcvalue(t), v); }
void luaT_callTM(lua_State *L, const TValue *f, const TValue *p1, const TValue *p2, const TValue *p3)
Definition: ltm.c:103
lua_Integer luaV_mod(lua_State *L, lua_Integer m, lua_Integer n)
Definition: lvm.c:733
#define l_addi(L, a, b)
Definition: lvm.c:864
static int l_strton(const TValue *obj, TValue *result)
Definition: lvm.c:90
#define setobjs2s(L, o1, o2)
Definition: lobject.h:127
int luaV_equalobj(lua_State *L, const TValue *t1, const TValue *t2)
Definition: lvm.c:565
#define s2v(o)
Definition: lobject.h:150
@ OP_SETLIST
Definition: lopcodes.h:300
#define luai_numsub(L, a, b)
Definition: llimits.h:336
#define op_orderI(L, opi, opf, inv, tm)
Definition: lvm.c:1002
@ OP_MODK
Definition: lopcodes.h:231
Upvaldesc * upvalues
Definition: lobject.h:547
#define l_isfalse(o)
Definition: lobject.h:225
#define luai_numunm(L, a)
Definition: llimits.h:338
#define luai_numle(a, b)
Definition: llimits.h:341
#define l_muli(L, a, b)
Definition: lvm.c:866
#define lua_assert(c)
Definition: lauxlib.h:169
LUAI_FUNC void luaV_finishget(lua_State *L, const TValue *t, TValue *key, StkId val, const TValue *slot)
Definition: lvm.c:287
@ OP_VARARG
Definition: lopcodes.h:304
LUA_UNSIGNED lua_Unsigned
Definition: lua.h:97
@ OP_SELF
Definition: lopcodes.h:224
#define LUAI_FUNC
Definition: luaconf.h:307
struct CallInfo * previous
Definition: lstate.h:163
Instruction * code
Definition: lobject.h:545
@ OP_TFORPREP
Definition: lopcodes.h:296
LUAI_FUNC lua_Integer luaV_shiftl(lua_Integer x, lua_Integer y)
Definition: lvm.c:766
#define GETARG_Bx(i)
Definition: lopcodes.h:140
static void pushutfchar(lua_State *L, int arg)
Definition: lutf8lib.c:151
#define luaV_fastgeti(L, t, k, slot)
Definition: lvm.h:94
#define op_arithfK(L, fop)
Definition: lvm.c:918
#define LUA_MULTRET
Definition: lua.h:36
@ F2Iceil
Definition: lvm.h:46
#define ttisLclosure(o)
Definition: lobject.h:574
#define GETARG_B(i)
Definition: lopcodes.h:128
#define LUAI_MAXSHORTLEN
Definition: llimits.h:205
void luaD_poscall(lua_State *L, CallInfo *ci, int nres)
Definition: ldo.c:434
#define LUA_OK
Definition: lua.h:49
@ OP_TAILCALL
Definition: lopcodes.h:286
#define ttistable(o)
Definition: lobject.h:657
#define eqshrstr(a, b)
Definition: lstring.h:41
#define uvalue(o)
Definition: lobject.h:415
#define KB(i)
Definition: lvm.c:1035
@ OP_CALL
Definition: lopcodes.h:285
TString * luaS_newlstr(lua_State *L, const char *str, size_t l)
Definition: lstring.c:221
#define luaL_checkstring(L, n)
Definition: lauxlib.h:138
@ OP_SHR
Definition: lopcodes.h:255
#define luaV_finishfastset(L, t, slot, v)
Definition: lvm.h:106
#define luaC_objbarrier(L, p, o)
Definition: lgc.h:173
#define pvalue(o)
Definition: lobject.h:414
#define updatetrap(ci)
Definition: lvm.c:1043
#define luai_numlt(a, b)
Definition: llimits.h:340
@ OP_ADDI
Definition: lopcodes.h:226
#define op_arithK(L, iop, fop)
Definition: lvm.c:947
#define ttisfunction(o)
Definition: lobject.h:572
LUALIB_API void luaL_buffinit(lua_State *L, luaL_Buffer *B)
Definition: lauxlib.c:620
@ OP_GETUPVAL
Definition: lopcodes.h:209
static int cond(LexState *ls)
Definition: lparser.c:1394
#define GETARG_A(i)
Definition: lopcodes.h:125
#define unlikely(x)
Definition: llimits.h:162
LUA_API void lua_pushinteger(lua_State *L, lua_Integer n)
Definition: lapi.c:489
#define luaC_barrierback(L, p, v)
Definition: lgc.h:169
#define isIT(i)
Definition: lopcodes.h:383
#define vmbreak
Definition: lvm.c:1116
l_noret luaG_runerror(lua_State *L, const char *fmt,...)
Definition: ldebug.c:767
static int lessequalothers(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:542
#define LUA_VNUMINT
Definition: lobject.h:301
@ OP_FORLOOP
Definition: lopcodes.h:292
#define vmdispatch(o)
Definition: lvm.c:1114
#define isempty(v)
Definition: lobject.h:195
@ OP_CONCAT
Definition: lopcodes.h:266
@ OP_IDIVK
Definition: lopcodes.h:234
#define op_arith(L, iop, fop)
Definition: lvm.c:938
#define notm(tm)
Definition: ltm.h:61
#define checkGC(L, c)
Definition: lvm.c:1098
struct Proto ** p
Definition: lobject.h:546
void luaV_finishOp(lua_State *L)
Definition: lvm.c:803
#define LUA_VNUMFLT
Definition: lobject.h:302
lua_Integer luaV_shiftl(lua_Integer x, lua_Integer y)
Definition: lvm.c:766
#define obj2gco(v)
Definition: lstate.h:347
#define gcvalue(o)
Definition: lobject.h:283
#define fvalue(o)
Definition: lobject.h:582
@ OP_BNOT
Definition: lopcodes.h:262
@ OP_LOADTRUE
Definition: lopcodes.h:207
@ OP_LTI
Definition: lopcodes.h:277
@ TM_INDEX
Definition: ltm.h:19
LUA_API const char * lua_pushlstring(lua_State *L, const char *s, size_t len)
Definition: lapi.c:502
#define KC(i)
Definition: lvm.c:1038
static int iter_codes(lua_State *L)
Definition: lutf8lib.c:257
@ OP_BXORK
Definition: lopcodes.h:238
static int forprep(lua_State *L, StkId ra)
Definition: lvm.c:206
#define ttisinteger(o)
Definition: lobject.h:306
lu_byte is_vararg
Definition: lobject.h:533
LUALIB_API const char * luaL_checklstring(lua_State *L, int arg, size_t *len)
Definition: lauxlib.c:402
@ TM_NEWINDEX
Definition: ltm.h:20
static int lessthanothers(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:520
LUA_NUMBER lua_Number
Definition: lua.h:90
#define LUA_VFALSE
Definition: lobject.h:217
#define l_gei(a, b)
Definition: lvm.c:874
#define invalidateTMcache(t)
Definition: ltable.h:23
@ OP_LOADI
Definition: lopcodes.h:201
#define GETARG_k(i)
Definition: lopcodes.h:137
@ OP_LE
Definition: lopcodes.h:273
#define NOCLOSINGMETH
Definition: lfunc.h:50
@ OP_LOADF
Definition: lopcodes.h:202
#define luai_nummod(L, a, b, m)
Definition: llimits.h:322
CallInfo * luaD_precall(lua_State *L, StkId func, int nresults)
Definition: ldo.c:479
Definition: lobject.h:141
#define savestate(L, ci)
Definition: lvm.c:1079
@ OP_SUBK
Definition: lopcodes.h:229
const TValue * luaH_getshortstr(Table *t, TString *key)
Definition: ltable.c:726
#define GETARG_sC(i)
Definition: lopcodes.h:133
@ TM_UNM
Definition: ltm.h:37
LUALIB_API void luaL_pushresult(luaL_Buffer *B)
Definition: lauxlib.c:584
@ OP_LOADFALSE
Definition: lopcodes.h:205
LUAI_FUNC lua_Integer luaV_mod(lua_State *L, lua_Integer x, lua_Integer y)
Definition: lvm.c:733
@ OP_UNM
Definition: lopcodes.h:261
#define ProtectNT(exp)
Definition: lvm.c:1089
@ OP_MOVE
Definition: lopcodes.h:200
#define tointegerns(o, i)
Definition: lvm.h:67
int oldpc
Definition: lstate.h:291
#define l_bxor(a, b)
Definition: lvm.c:869
#define LUA_VTABLE
Definition: lobject.h:655
#define l_lti(a, b)
Definition: lvm.c:871
#define luaV_rawequalobj(t1, t2)
Definition: lvm.h:73
#define l_bor(a, b)
Definition: lvm.c:868
void luaH_resize(lua_State *L, Table *t, unsigned int newasize, unsigned int nhsize)
Definition: ltable.c:523
#define luai_numidiv(L, a, b)
Definition: llimits.h:302
void luaH_resizearray(lua_State *L, Table *t, unsigned int nasize)
Definition: ltable.c:560
#define setnilvalue(obj)
Definition: lobject.h:178
#define l_intfitsf(i)
Definition: lvm.c:78
@ OP_DIV
Definition: lopcodes.h:248
@ OP_CLOSE
Definition: lopcodes.h:268
@ OP_GETI
Definition: lopcodes.h:214
Definition: lobject.h:606
#define fltvalue(o)
Definition: lobject.h:310
void luaD_pretailcall(lua_State *L, CallInfo *ci, StkId func, int narg1)
Definition: ldo.c:452
#define vslen(o)
Definition: lobject.h:391
static int codepoint(lua_State *L)
Definition: lutf8lib.c:122
#define ttisnil(v)
Definition: lobject.h:171
#define op_arithI(L, iop, fop)
Definition: lvm.c:881
@ OP_NOT
Definition: lopcodes.h:263
#define ivalue(o)
Definition: lobject.h:311
static int iter_aux(lua_State *L, int strict)
Definition: lutf8lib.c:224
@ OP_TFORLOOP
Definition: lopcodes.h:298
#define setbfvalue(obj)
Definition: lobject.h:228
@ OP_SETI
Definition: lopcodes.h:219
#define GETARG_sB(i)
Definition: lopcodes.h:129
#define RB(i)
Definition: lvm.c:1033
@ TM_BNOT
Definition: ltm.h:38
void luaV_finishget(lua_State *L, const TValue *t, TValue *key, StkId val, const TValue *slot)
Definition: lvm.c:287
LUAI_FUNC int luaV_flttointeger(lua_Number n, lua_Integer *p, F2Imod mode)
Definition: lvm.c:121
static lua_Integer u_posrelat(lua_Integer pos, size_t len)
Definition: lutf8lib.c:43
@ OP_EXTRAARG
Definition: lopcodes.h:308
#define luai_numpow(L, a, b)
Definition: llimits.h:329
@ OP_GEI
Definition: lopcodes.h:280
StkId stack_last
Definition: lstate.h:281
#define RA(i)
Definition: lvm.c:1032
@ OP_MMBINI
Definition: lopcodes.h:258
#define lua_tointeger(L, i)
Definition: lua.h:362
#define op_bitwiseK(L, op)
Definition: lvm.c:956
@ OP_CLOSURE
Definition: lopcodes.h:302
static int l_strcmp(const TString *ls, const TString *rs)
Definition: lvm.c:375
LUA_API void lua_setfield(lua_State *L, int idx, const char *k)
Definition: lapi.c:847
@ OP_RETURN0
Definition: lopcodes.h:289
int luaV_tonumber_(const TValue *obj, lua_Number *n)
Definition: lvm.c:103
#define cast_void(i)
Definition: llimits.h:125
lua_Number luaV_modf(lua_State *L, lua_Number m, lua_Number n)
Definition: lvm.c:751
#define setobj2t
Definition: lobject.h:135
@ OP_DIVK
Definition: lopcodes.h:233
const TValue * luaH_get(Table *t, const TValue *key)
Definition: ltable.c:756
#define LUA_VLNGSTR
Definition: lobject.h:339
#define savepc(L)
Definition: lvm.c:1072
#define luai_numge(a, b)
Definition: llimits.h:343
int luaV_lessequal(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:554
#define LUA_VSHRSTR
Definition: lobject.h:338
#define vRC(i)
Definition: lvm.c:1037
Definition: lobject.h:364
F2Imod
Definition: lvm.h:43
void luaV_finishset(lua_State *L, const TValue *t, TValue *key, TValue *val, const TValue *slot)
Definition: lvm.c:330
#define lua_numbertointeger(n, p)
Definition: luaconf.h:413
#define GETARG_sBx(i)
Definition: lopcodes.h:146
l_noret luaG_typeerror(lua_State *L, const TValue *o, const char *op)
Definition: ldebug.c:694
@ OP_SETTABLE
Definition: lopcodes.h:218
#define LUA_VTRUE
Definition: lobject.h:218
#define op_arithf(L, fop)
Definition: lvm.c:909
#define setclLvalue2s(L, o, cl)
Definition: lobject.h:592
void luaF_newtbcupval(lua_State *L, StkId level)
Definition: lfunc.c:194
@ OP_SHRI
Definition: lopcodes.h:240
#define setsvalue2s(L, o, s)
Definition: lobject.h:355
short nresults
Definition: lstate.h:184
int luaV_flttointeger(lua_Number n, lua_Integer *p, F2Imod mode)
Definition: lvm.c:121
StkId func
Definition: lstate.h:161
#define LUA_TNUMBER
Definition: lua.h:68
@ OP_TBC
Definition: lopcodes.h:269
#define getstr(ts)
Definition: lobject.h:381
#define TESTARG_k(i)
Definition: lopcodes.h:136
@ OP_IDIV
Definition: lopcodes.h:249
void luaD_call(lua_State *L, StkId func, int nResults)
Definition: ldo.c:557
#define l_subi(L, a, b)
Definition: lvm.c:865
#define halfProtect(exp)
Definition: lvm.c:1095
#define setobj(L, obj1, obj2)
Definition: lobject.h:116
#define luaV_shiftr(x, y)
Definition: lvm.c:764
LUAI_FUNC int luaV_lessequal(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:554
LUA_API const char * lua_pushfstring(lua_State *L, const char *fmt,...)
Definition: lapi.c:542
static int iter_auxstrict(lua_State *L)
Definition: lutf8lib.c:248
unsigned long utfint
Definition: lutf8lib.c:34
@ OP_VARARGPREP
Definition: lopcodes.h:306
#define op_bitwise(L, op)
Definition: lvm.c:969
Definition: lobject.h:714
@ OP_ADD
Definition: lopcodes.h:243
LUAI_FUNC void luaV_finishset(lua_State *L, const TValue *t, TValue *key, TValue *val, const TValue *slot)
Definition: lvm.c:330
@ OP_MOD
Definition: lopcodes.h:246
#define clLvalue(o)
Definition: lobject.h:581
@ OP_EQK
Definition: lopcodes.h:275
#define LUA_VNIL
Definition: lobject.h:161
@ OP_BXOR
Definition: lopcodes.h:253
@ OP_SHLI
Definition: lopcodes.h:241
#define isemptystr(o)
Definition: lvm.c:616
LUAI_FUNC int luaV_lessthan(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:532
@ F2Ieq
Definition: lvm.h:44
@ TM_LT
Definition: ltm.h:39
#define l_castU2S(i)
Definition: llimits.h:148
Definition: lauxlib.h:182
@ OP_EQI
Definition: lopcodes.h:276
@ OP_LOADK
Definition: lopcodes.h:203
#define op_order(L, opi, opn, other)
Definition: lvm.c:983
const TValue * luaH_getstr(Table *t, TString *key)
Definition: ltable.c:742
struct CallInfo::@11::@13 l
void luaV_objlen(lua_State *L, StkId ra, const TValue *rb)
Definition: lvm.c:678
@ TM_LEN
Definition: ltm.h:23
#define luaL_argcheck(L, cond, arg, extramsg)
Definition: lauxlib.h:132
#define MAXARG_C
Definition: lopcodes.h:97
#define donextjump(ci)
Definition: lvm.c:1059
#define l_band(a, b)
Definition: lvm.c:867
LUAI_FUNC unsigned int luaH_realasize(const Table *t)
Definition: ltable.c:222
@ OP_MUL
Definition: lopcodes.h:245
void luaT_getvarargs(lua_State *L, CallInfo *ci, StkId where, int wanted)
Definition: ltm.c:257
struct Table * metatable
Definition: lobject.h:722
Table * luaH_new(lua_State *L)
Definition: ltable.c:596
#define luai_numgt(a, b)
Definition: llimits.h:342
#define luai_numdiv(L, a, b)
Definition: llimits.h:307
LUA_API int lua_gettop(lua_State *L)
Definition: lapi.c:168
@ OP_BANDK
Definition: lopcodes.h:236
#define LUA_VLIGHTUSERDATA
Definition: lobject.h:407
LUA_INTEGER lua_Integer
Definition: lua.h:94
volatile l_signalT hookmask
Definition: lstate.h:294
struct Proto * p
Definition: lobject.h:633
#define docondjump()
Definition: lvm.c:1066
static void copy2buff(StkId top, int n, char *buff)
Definition: lvm.c:619
#define GETARG_Ax(i)
Definition: lopcodes.h:143
LUAI_FUNC void luaV_execute(lua_State *L, CallInfo *ci)
Definition: lvm.c:1119
#define tonumber(o, n)
Definition: lvm.h:51
LUA_API void lua_pushvalue(lua_State *L, int idx)
Definition: lapi.c:246
#define tsslen(s)
Definition: lobject.h:388
@ TM_EQ
Definition: ltm.h:24
#define chgivalue(obj, x)
Definition: lobject.h:325
static int LEfloatint(lua_Number f, lua_Integer i)
Definition: lvm.c:460
#define luai_numadd(L, a, b)
Definition: llimits.h:335
TValue * v
Definition: lobject.h:609
TValue * array
Definition: lobject.h:719
TValue * k
Definition: lobject.h:544
static int LEintfloat(lua_Integer i, lua_Number f)
Definition: lvm.c:426
@ OP_BORK
Definition: lopcodes.h:237
#define intop(op, v1, v2)
Definition: lvm.h:71
#define ttypetag(o)
Definition: lobject.h:82
#define vRB(i)
Definition: lvm.c:1034
#define l_castS2U(i)
Definition: llimits.h:139
#define lua_pushcfunction(L, f)
Definition: lua.h:370
LUAI_FUNC int luaV_tointeger(const TValue *obj, lua_Integer *p, F2Imod mode)
Definition: lvm.c:152
Definition: lobject.h:631
LUAI_FUNC void luaV_concat(lua_State *L, int total)
Definition: lvm.c:633
#define luai_nummul(L, a, b)
Definition: llimits.h:337
static int LEnum(const TValue *l, const TValue *r)
Definition: lvm.c:498
static int LTintfloat(lua_Integer i, lua_Number f)
Definition: lvm.c:409
lua_Unsigned luaH_getn(Table *t)
Definition: ltable.c:891
#define tsvalue(o)
Definition: lobject.h:347
void luaV_execute(lua_State *L, CallInfo *ci)
Definition: lvm.c:1119
void luaT_adjustvarargs(lua_State *L, int nfixparams, CallInfo *ci, const Proto *p)
Definition: ltm.c:237
@ OP_GETFIELD
Definition: lopcodes.h:215
int sizeupvalues
Definition: lobject.h:535
#define tonumberns(o, n)
Definition: lvm.h:56
#define CIST_FRESH
Definition: lstate.h:194
#define tostring(L, o)
Definition: lvm.c:613
@ OP_BOR
Definition: lopcodes.h:252
LUAI_FUNC void luaV_objlen(lua_State *L, StkId ra, const TValue *rb)
Definition: lvm.c:678
#define NBITS
Definition: lvm.c:759
l_uint32 Instruction
Definition: llimits.h:194
@ OP_LEN
Definition: lopcodes.h:264
@ OP_SUB
Definition: lopcodes.h:244
OpCode
Definition: lopcodes.h:196
#define l_gti(a, b)
Definition: lvm.c:873
@ OP_TESTSET
Definition: lopcodes.h:283
@ OP_LOADKX
Definition: lopcodes.h:204
size_t luaO_str2num(const char *s, TValue *o)
Definition: lobject.c:308
void luaT_callTMres(lua_State *L, const TValue *f, const TValue *p1, const TValue *p2, StkId res)
Definition: ltm.c:119
#define LUAMOD_API
Definition: luaconf.h:286
void luaV_concat(lua_State *L, int total)
Definition: lvm.c:633
#define vmfetch()
Definition: lvm.c:1105
LUAMOD_API int luaopen_utf8(lua_State *L)
Definition: lutf8lib.c:283
CallInfo * ci
Definition: lstate.h:280
@ OP_SETFIELD
Definition: lopcodes.h:220
#define setivalue(obj, x)
Definition: lobject.h:322
#define fasttm(l, et, e)
Definition: ltm.h:67
#define UTF8PATT
Definition: lutf8lib.c:268
#define sethvalue2s(L, o, h)
Definition: lobject.h:666
LUALIB_API lua_Integer luaL_optinteger(lua_State *L, int arg, lua_Integer def)
Definition: lauxlib.c:452
@ OP_TEST
Definition: lopcodes.h:282
#define GET_OPCODE(i)
Definition: lopcodes.h:114
Definition: lobject.h:530
#define updatebase(ci)
Definition: lvm.c:1045
#define Protect(exp)
Definition: lvm.c:1086
static const char * utf8_decode(const char *s, utfint *val, int strict)
Definition: lutf8lib.c:57
#define l_floor(x)
Definition: luaconf.h:399
void luaT_trybinassocTM(lua_State *L, const TValue *p1, const TValue *p2, int flip, StkId res, TMS event)
Definition: ltm.c:174
LUALIB_API void luaL_checkstack(lua_State *L, int space, const char *msg)
Definition: lauxlib.c:380
static int floatforloop(StkId ra)
Definition: lvm.c:266
#define MAXTAGLOOP
Definition: lvm.c:49
int luaT_callorderTM(lua_State *L, const TValue *p1, const TValue *p2, TMS event)
Definition: ltm.c:200
#define luaL_newlib(L, l)
Definition: lauxlib.h:129
int luaV_tointegerns(const TValue *obj, lua_Integer *p, F2Imod mode)
Definition: lvm.c:137
void luaT_trybiniTM(lua_State *L, const TValue *p1, lua_Integer i2, int flip, StkId res, TMS event)
Definition: ltm.c:183
LUALIB_API int luaL_error(lua_State *L, const char *fmt,...)
Definition: lauxlib.c:234
#define cvt2str(o)
Definition: lvm.h:17
const TValue * luaT_gettmbyobj(lua_State *L, const TValue *o, TMS event)
Definition: ltm.c:71
#define iscont(p)
Definition: lutf8lib.c:38
@ OP_MMBINK
Definition: lopcodes.h:259
#define MAXUNICODE
Definition: lutf8lib.c:24
#define setobj2s(L, o1, o2)
Definition: lobject.h:129
LUAI_FUNC int luaV_tonumber_(const TValue *obj, lua_Number *n)
Definition: lvm.c:103
LUAI_FUNC void luaV_finishOp(lua_State *L)
Definition: lvm.c:803
LClosure * luaF_newLclosure(lua_State *L, int nupvals)
Definition: lfunc.c:35
#define MAX_SIZE
Definition: llimits.h:44
static int utflen(lua_State *L)
Definition: lutf8lib.c:92
@ OP_MMBIN
Definition: lopcodes.h:257
Definition: lobject.h:493
#define ttisnumber(o)
Definition: lobject.h:304
lu_byte idx
Definition: lobject.h:496
LUALIB_API lua_Integer luaL_checkinteger(lua_State *L, int arg)
Definition: lauxlib.c:442
#define luai_numeq(a, b)
Definition: llimits.h:339
LUAI_FUNC int luaV_equalobj(lua_State *L, const TValue *t1, const TValue *t2)
Definition: lvm.c:565
@ OP_JMP
Definition: lopcodes.h:270
@ OP_ADDK
Definition: lopcodes.h:228
#define chgfltvalue(obj, x)
Definition: lobject.h:319
LUAI_FUNC lua_Number luaV_modf(lua_State *L, lua_Number x, lua_Number y)
Definition: lvm.c:751
@ OP_POWK
Definition: lopcodes.h:232
@ OP_GETTABLE
Definition: lopcodes.h:213
LUAI_FUNC lua_Integer luaV_idiv(lua_State *L, lua_Integer x, lua_Integer y)
Definition: lvm.c:713
#define RKC(i)
Definition: lvm.c:1039
@ OP_GETTABUP
Definition: lopcodes.h:212
#define ttype(o)
Definition: lobject.h:85
StkId top
Definition: lstate.h:278
UpVal * luaF_findupval(lua_State *L, StkId level)
Definition: lfunc.c:88
LUAI_FUNC int luaV_tointegerns(const TValue *obj, lua_Integer *p, F2Imod mode)
Definition: lvm.c:137
#define LUA_VLCF
Definition: lobject.h:569
@ OP_POW
Definition: lopcodes.h:247
@ OP_TFORCALL
Definition: lopcodes.h:297
#define setfltvalue(obj, x)
Definition: lobject.h:316
#define dojump(ci, i, e)
Definition: lvm.c:1055
LUA_API int lua_toboolean(lua_State *L, int idx)
Definition: lapi.c:375
static int byteoffset(lua_State *L)
Definition: lutf8lib.c:183
lua_Integer luaV_idiv(lua_State *L, lua_Integer m, lua_Integer n)
Definition: lvm.c:713
#define luaV_fastget(L, t, k, slot, f)
Definition: lvm.h:83
static int LTnum(const TValue *l, const TValue *r)
Definition: lvm.c:476
@ OP_EQ
Definition: lopcodes.h:271
@ OP_LFALSESKIP
Definition: lopcodes.h:206
#define checkstackGCp(L, n, p)
Definition: ldo.h:40
#define MAXUTF
Definition: lutf8lib.c:26
void luaD_hookcall(lua_State *L, CallInfo *ci)
Definition: ldo.c:333
TString * luaS_createlngstrobj(lua_State *L, size_t l)
Definition: lstring.c:157
#define setbtvalue(obj)
Definition: lobject.h:229
int luaV_lessthan(lua_State *L, const TValue *l, const TValue *r)
Definition: lvm.c:532
#define vmcase(l)
Definition: lvm.c:1115
void luaD_tryfuncTM(lua_State *L, StkId func)
Definition: ldo.c:374
void luaT_trybinTM(lua_State *L, const TValue *p1, const TValue *p2, StkId res, TMS event)
Definition: ltm.c:148
@ TM_LE
Definition: ltm.h:40
#define next(ls)
Definition: llex.c:32
LUALIB_API void luaL_addvalue(luaL_Buffer *B)
Definition: lauxlib.c:609
static int LTfloatint(lua_Number f, lua_Integer i)
Definition: lvm.c:443
StkId top
Definition: lstate.h:162
@ OP_BAND
Definition: lopcodes.h:251
#define nvalue(o)
Definition: lobject.h:308
int luaS_eqlngstr(TString *a, TString *b)
Definition: lstring.c:34
unsigned short callstatus
Definition: lstate.h:185
#define l_lei(a, b)
Definition: lvm.c:872
static int utfchar(lua_State *L)
Definition: lutf8lib.c:161
int luaF_close(lua_State *L, StkId level, int status)
Definition: lfunc.c:223
#define GETARG_C(i)
Definition: lopcodes.h:132
#define hvalue(o)
Definition: lobject.h:659
void luaH_finishset(lua_State *L, Table *t, const TValue *key, const TValue *slot, TValue *value)
Definition: ltable.c:779
#define updatestack(ci)
Definition: lvm.c:1048
@ OP_FORPREP
Definition: lopcodes.h:293
@ OP_LT
Definition: lopcodes.h:272
#define svalue(o)
Definition: lobject.h:385
#define LUA_VUSERDATA
Definition: lobject.h:409
static int forlimit(lua_State *L, lua_Integer init, const TValue *lim, lua_Integer *p, lua_Integer step)
Definition: lvm.c:176
@ OP_NEWTABLE
Definition: lopcodes.h:222
@ OP_RETURN1
Definition: lopcodes.h:290
l_noret luaG_forerror(lua_State *L, const TValue *o, const char *what)
Definition: ldebug.c:700
@ OP_SETUPVAL
Definition: lopcodes.h:210
#define luaL_pushfail(L)
Definition: lauxlib.h:157
#define luaC_barrier(L, p, v)
Definition: lgc.h:165
static const luaL_Reg funcs[]
Definition: lutf8lib.c:271
@ OP_LOADNIL
Definition: lopcodes.h:208
UpVal * upvals[1]
Definition: lobject.h:634
@ OP_LEI
Definition: lopcodes.h:278
int luaV_tointeger(const TValue *obj, lua_Integer *p, F2Imod mode)
Definition: lvm.c:152
@ OP_SHL
Definition: lopcodes.h:254
@ OP_MULK
Definition: lopcodes.h:230
#define cvt2num(o)
Definition: lvm.h:24
@ OP_SETTABUP
Definition: lopcodes.h:217
#define cast_num(i)
Definition: llimits.h:127
@ F2Ifloor
Definition: lvm.h:45
@ OP_RETURN
Definition: lopcodes.h:288
static void pushclosure(lua_State *L, Proto *p, UpVal **encup, StkId base, StkId ra)
Definition: lvm.c:782
void luaT_tryconcatTM(lua_State *L)
Definition: ltm.c:167
#define cast_int(i)
Definition: llimits.h:128
#define ttisfloat(o)
Definition: lobject.h:305
@ OP_GTI
Definition: lopcodes.h:279
#define ttisstring(o)
Definition: lobject.h:341
static int iter_auxlax(lua_State *L)
Definition: lutf8lib.c:252