浏览该文件的文档.
19 #define MEMERRMSG "not enough memory"
26 #define sizelstring(l) (offsetof(TString, contents) + ((l) + 1) * sizeof(char))
28 #define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \
29 (sizeof(s)/sizeof(char))-1))
35 #define isreserved(s) ((s)->tt == LUA_VSHRSTR && (s)->extra > 0)
41 #define eqshrstr(a,b) check_exp((a)->tt == LUA_VSHRSTR, (a) == (b))
GCObject * luaC_newobj(lua_State *L, int tt, size_t sz)
Definition: lgc.c:258
#define iswhite(x)
Definition: lgc.h:87
#define lua_assert(c)
Definition: lauxlib.h:169
void luaS_init(lua_State *L)
Definition: lstring.c:123
#define LUAI_FUNC
Definition: luaconf.h:307
#define cast_byte(i)
Definition: llimits.h:130
#define LUAI_MAXSHORTLEN
Definition: llimits.h:205
LUAI_FUNC TString * luaS_new(lua_State *L, const char *str)
Definition: lstring.c:241
TString * luaS_newlstr(lua_State *L, const char *str, size_t l)
Definition: lstring.c:221
#define gco2ts(o)
Definition: lstate.h:330
TString * luaS_new(lua_State *L, const char *str)
Definition: lstring.c:241
#define unlikely(x)
Definition: llimits.h:162
stringtable strt
Definition: lstate.h:226
TString ** hash
Definition: lstate.h:151
#define MAXSTRTB
Definition: lstring.c:28
#define MINSTRTABSIZE
Definition: llimits.h:216
#define obj2gco(v)
Definition: lstate.h:347
void luaC_fix(lua_State *L, GCObject *o)
Definition: lgc.c:243
#define cast_uint(i)
Definition: llimits.h:129
#define gco2u(o)
Definition: lstate.h:332
LUAI_FUNC void luaS_remove(lua_State *L, TString *ts)
Definition: lstring.c:164
#define luaM_error(L)
Definition: lmem.h:17
LUAI_FUNC void luaS_clearcache(global_State *g)
Definition: lstring.c:110
void luaS_remove(lua_State *L, TString *ts)
Definition: lstring.c:164
lu_byte extra
Definition: lobject.h:366
#define luaM_newvector(L, n, t)
Definition: lmem.h:60
static TString * internshrstr(lua_State *L, const char *str, size_t l)
Definition: lstring.c:188
#define STRCACHE_N
Definition: llimits.h:226
#define setnilvalue(obj)
Definition: lobject.h:178
LUAI_FUNC int luaS_eqlngstr(TString *a, TString *b)
Definition: lstring.c:34
unsigned int hash
Definition: lobject.h:368
#define udatamemoffset(nuv)
Definition: lobject.h:468
LUAI_FUNC void luaS_resize(lua_State *L, int newsize)
Definition: lstring.c:85
struct TString * hnext
Definition: lobject.h:371
#define G(L)
Definition: lstate.h:298
#define sizelstring(l)
Definition: lstring.h:26
#define LUA_VLNGSTR
Definition: lobject.h:339
#define LUA_VSHRSTR
Definition: lobject.h:338
unsigned int luaS_hashlongstr(TString *ts)
Definition: lstring.c:51
Definition: lobject.h:364
#define getstr(ts)
Definition: lobject.h:381
size_t lnglen
Definition: lobject.h:370
Definition: lobject.h:439
LUAI_FUNC Udata * luaS_newudata(lua_State *L, size_t s, int nuvalue)
Definition: lstring.c:258
static void tablerehash(TString **vect, int osize, int nsize)
Definition: lstring.c:62
LUAI_FUNC unsigned int luaS_hashlongstr(TString *ts)
Definition: lstring.c:51
#define luaM_reallocvector(L, v, oldn, n, t)
Definition: lmem.h:70
Udata * luaS_newudata(lua_State *L, size_t s, int nuvalue)
Definition: lstring.c:258
#define point2uint(p)
Definition: llimits.h:78
TString * strcache[STRCACHE_N][STRCACHE_M]
Definition: lstate.h:264
static TString * createstrobj(lua_State *L, size_t l, int tag, unsigned int h)
Definition: lstring.c:143
unsigned int luaS_hash(const char *str, size_t l, unsigned int seed)
Definition: lstring.c:43
LUAI_FUNC void luaS_init(lua_State *L)
Definition: lstring.c:123
#define sizeudata(nuv, nb)
Definition: lobject.h:476
#define isdead(g, v)
Definition: lgc.h:96
static void growstrtab(lua_State *L, stringtable *tb)
Definition: lstring.c:174
#define MAX_INT
Definition: llimits.h:53
LUAI_FUNC TString * luaS_newlstr(lua_State *L, const char *str, size_t l)
Definition: lstring.c:221
#define MAX_SIZE
Definition: llimits.h:44
int nuse
Definition: lstate.h:152
void luaS_clearcache(global_State *g)
Definition: lstring.c:110
int size
Definition: lstate.h:153
lu_byte shrlen
Definition: lobject.h:367
Definition: lobject.h:270
void luaC_fullgc(lua_State *L, int isemergency)
Definition: lgc.c:1703
#define changewhite(x)
Definition: lgc.h:98
#define MEMERRMSG
Definition: lstring.h:19
TString * luaS_createlngstrobj(lua_State *L, size_t l)
Definition: lstring.c:157
#define lmod(s, size)
Definition: lobject.h:763
int luaS_eqlngstr(TString *a, TString *b)
Definition: lstring.c:34
#define STRCACHE_M
Definition: llimits.h:227
TString * memerrmsg
Definition: lstate.h:261
#define LUA_VUSERDATA
Definition: lobject.h:409
void luaS_resize(lua_State *L, int nsize)
Definition: lstring.c:85
#define luaS_newliteral(L, s)
Definition: lstring.h:28
LUAI_FUNC unsigned int luaS_hash(const char *str, size_t l, unsigned int seed)
Definition: lstring.c:43
unsigned int seed
Definition: lstate.h:229
LUAI_FUNC TString * luaS_createlngstrobj(lua_State *L, size_t l)
Definition: lstring.c:157
l_noret luaM_toobig(lua_State *L)
Definition: lmem.c:124