|
|
@ -1,5 +1,5 @@ |
|
|
|
/*
|
|
|
|
** $Id: lstate.h,v 2.55 2010/03/22 18:28:03 roberto Exp roberto $ |
|
|
|
** $Id: lstate.h,v 2.56 2010/03/24 13:07:01 roberto Exp roberto $ |
|
|
|
** Global State |
|
|
|
** See Copyright Notice in lua.h |
|
|
|
*/ |
|
|
@ -114,9 +114,14 @@ typedef struct CallInfo { |
|
|
|
** `global state', shared by all threads of this state |
|
|
|
*/ |
|
|
|
typedef struct global_State { |
|
|
|
stringtable strt; /* hash table for strings */ |
|
|
|
lua_Alloc frealloc; /* function to reallocate memory */ |
|
|
|
void *ud; /* auxiliary data to `frealloc' */ |
|
|
|
lu_mem totalbytes; /* number of bytes currently allocated */ |
|
|
|
lu_mem GCthreshold; /* when totalbytes > GCthreshold, run GC step */ |
|
|
|
lu_mem lastmajormem; /* memory in use after last major collection */ |
|
|
|
stringtable strt; /* hash table for strings */ |
|
|
|
TValue l_registry; |
|
|
|
struct Table *l_gt; /* table of globals */ |
|
|
|
unsigned short nCcalls; /* number of nested C calls */ |
|
|
|
lu_byte currentwhite; |
|
|
|
lu_byte gcstate; /* state of garbage collector */ |
|
|
@ -131,16 +136,12 @@ typedef struct global_State { |
|
|
|
GCObject *ephemeron; /* list of ephemeron tables (weak keys) */ |
|
|
|
GCObject *allweak; /* list of all-weak tables */ |
|
|
|
GCObject *tobefnz; /* list of userdata to be GC */ |
|
|
|
UpVal uvhead; /* head of double-linked list of all open upvalues */ |
|
|
|
Mbuffer buff; /* temporary buffer for string concatenation */ |
|
|
|
lu_mem GCthreshold; /* when totalbytes > GCthreshold, run GC step */ |
|
|
|
lu_mem totalbytes; /* number of bytes currently allocated */ |
|
|
|
int gcpause; /* size of pause between successive GCs */ |
|
|
|
int gcstepmul; /* GC `granularity' */ |
|
|
|
lua_CFunction panic; /* to be called in unprotected errors */ |
|
|
|
TValue l_registry; |
|
|
|
struct Table *l_gt; /* table of globals */ |
|
|
|
struct lua_State *mainthread; |
|
|
|
UpVal uvhead; /* head of double-linked list of all open upvalues */ |
|
|
|
const lua_Number *version; /* pointer to version number */ |
|
|
|
TString *envn; /* environment variable name */ |
|
|
|
TString *tmname[TM_N]; /* array with tag-method names */ |
|
|
|