diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-12-18 18:52:30 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-12-18 18:52:30 -0200 |
commit | e04f7ed4509af1577c10ead8e5d7d55c65754bf8 (patch) | |
tree | 36cfd31846b6f49c505adfbd1311ed1794689127 /lstate.c | |
parent | 101cee3032918bae8a5fa9dfc334c478c4aa15f6 (diff) | |
download | lua-e04f7ed4509af1577c10ead8e5d7d55c65754bf8.tar.gz lua-e04f7ed4509af1577c10ead8e5d7d55c65754bf8.tar.bz2 lua-e04f7ed4509af1577c10ead8e5d7d55c65754bf8.zip |
first version of Lua "stackless"
Diffstat (limited to 'lstate.c')
-rw-r--r-- | lstate.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -87,12 +87,12 @@ LUA_API lua_State *lua_newthread (lua_State *OL, int stacksize) { | |||
87 | L->_G = NULL; | 87 | L->_G = NULL; |
88 | L->stack = NULL; | 88 | L->stack = NULL; |
89 | L->stacksize = 0; | 89 | L->stacksize = 0; |
90 | L->ci = &L->basefunc; | ||
91 | L->basefunc.prev = NULL; | ||
92 | L->errorJmp = NULL; | 90 | L->errorJmp = NULL; |
93 | L->callhook = NULL; | 91 | L->callhook = NULL; |
94 | L->linehook = NULL; | 92 | L->linehook = NULL; |
95 | L->openupval = NULL; | 93 | L->openupval = NULL; |
94 | L->size_ci = 0; | ||
95 | L->base_ci = NULL; | ||
96 | L->allowhooks = 1; | 96 | L->allowhooks = 1; |
97 | L->next = L->previous = L; | 97 | L->next = L->previous = L; |
98 | so.stacksize = stacksize; | 98 | so.stacksize = stacksize; |
@@ -130,6 +130,7 @@ static void close_state (lua_State *L, lua_State *OL) { | |||
130 | luaM_freearray(L, G(L)->Mbuffer, G(L)->Mbuffsize, char); | 130 | luaM_freearray(L, G(L)->Mbuffer, G(L)->Mbuffsize, char); |
131 | luaM_freelem(NULL, L->_G); | 131 | luaM_freelem(NULL, L->_G); |
132 | } | 132 | } |
133 | luaM_freearray(OL, L->base_ci, L->size_ci, CallInfo); | ||
133 | luaM_freearray(OL, L->stack, L->stacksize, TObject); | 134 | luaM_freearray(OL, L->stack, L->stacksize, TObject); |
134 | luaM_freelem(OL, L); | 135 | luaM_freelem(OL, L); |
135 | } | 136 | } |