diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-08-30 16:09:21 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-08-30 16:09:21 -0300 |
| commit | fdafd4f4a88d1584dea900517445a17d87f8b82f (patch) | |
| tree | 52e38e886d569e77c1df82ebe2bcfbaafd4c6f75 /lstate.h | |
| parent | beeff4ccafe5877d00119cb3d93f1f937d46dcfb (diff) | |
| download | lua-fdafd4f4a88d1584dea900517445a17d87f8b82f.tar.gz lua-fdafd4f4a88d1584dea900517445a17d87f8b82f.tar.bz2 lua-fdafd4f4a88d1584dea900517445a17d87f8b82f.zip | |
new structure for collectable objects, sharing a common header
Diffstat (limited to 'lstate.h')
| -rw-r--r-- | lstate.h | 15 |
1 files changed, 6 insertions, 9 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lstate.h,v 1.93 2002/08/07 19:22:39 roberto Exp roberto $ | 2 | ** $Id: lstate.h,v 1.94 2002/08/12 17:23:12 roberto Exp roberto $ |
| 3 | ** Global State | 3 | ** Global State |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -75,7 +75,7 @@ struct lua_longjmp; /* defined in ldo.c */ | |||
| 75 | 75 | ||
| 76 | 76 | ||
| 77 | typedef struct stringtable { | 77 | typedef struct stringtable { |
| 78 | TString **hash; | 78 | GCObject **hash; |
| 79 | ls_nstr nuse; /* number of elements */ | 79 | ls_nstr nuse; /* number of elements */ |
| 80 | int size; | 80 | int size; |
| 81 | } stringtable; | 81 | } stringtable; |
| @@ -121,12 +121,9 @@ typedef struct CallInfo { | |||
| 121 | */ | 121 | */ |
| 122 | typedef struct global_State { | 122 | typedef struct global_State { |
| 123 | stringtable strt; /* hash table for strings */ | 123 | stringtable strt; /* hash table for strings */ |
| 124 | Proto *rootproto; /* list of all prototypes */ | 124 | GCObject *rootgc; /* list of (almost) all collectable objects */ |
| 125 | Closure *rootcl; /* list of all closures */ | 125 | GCObject *rootudata; /* (separated) list of all userdata */ |
| 126 | Table *roottable; /* list of all tables */ | 126 | GCObject *tmudata; /* list of userdata to be GC */ |
| 127 | UpVal *rootupval; /* list of closed up values */ | ||
| 128 | Udata *rootudata; /* list of all userdata */ | ||
| 129 | Udata *tmudata; /* list of userdata to be GC */ | ||
| 130 | void *Mbuffer; /* global buffer */ | 127 | void *Mbuffer; /* global buffer */ |
| 131 | size_t Mbuffsize; /* size of Mbuffer */ | 128 | size_t Mbuffsize; /* size of Mbuffer */ |
| 132 | lu_mem GCthreshold; | 129 | lu_mem GCthreshold; |
| @@ -154,7 +151,7 @@ struct lua_State { | |||
| 154 | unsigned long hookmask; | 151 | unsigned long hookmask; |
| 155 | ls_count hookcount; | 152 | ls_count hookcount; |
| 156 | lua_Hook hook; | 153 | lua_Hook hook; |
| 157 | UpVal *openupval; /* list of open upvalues in this stack */ | 154 | GCObject *openupval; /* list of open upvalues in this stack */ |
| 158 | struct lua_longjmp *errorJmp; /* current error recover point */ | 155 | struct lua_longjmp *errorJmp; /* current error recover point */ |
| 159 | ptrdiff_t errfunc; /* current error handling function (stack index) */ | 156 | ptrdiff_t errfunc; /* current error handling function (stack index) */ |
| 160 | lua_State *next; /* circular double linked list of states */ | 157 | lua_State *next; /* circular double linked list of states */ |
