diff options
Diffstat (limited to 'lstate.c')
| -rw-r--r-- | lstate.c | 8 |
1 files changed, 3 insertions, 5 deletions
| @@ -180,12 +180,11 @@ LUAI_FUNC void luaE_incCstack (lua_State *L) { | |||
| 180 | static void stack_init (lua_State *L1, lua_State *L) { | 180 | static void stack_init (lua_State *L1, lua_State *L) { |
| 181 | int i; CallInfo *ci; | 181 | int i; CallInfo *ci; |
| 182 | /* initialize stack array */ | 182 | /* initialize stack array */ |
| 183 | L1->stack = luaM_newvector(L, BASIC_STACK_SIZE, StackValue); | 183 | L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, StackValue); |
| 184 | L1->stacksize = BASIC_STACK_SIZE; | ||
| 185 | for (i = 0; i < BASIC_STACK_SIZE; i++) | 184 | for (i = 0; i < BASIC_STACK_SIZE; i++) |
| 186 | setnilvalue(s2v(L1->stack + i)); /* erase new stack */ | 185 | setnilvalue(s2v(L1->stack + i)); /* erase new stack */ |
| 187 | L1->top = L1->stack; | 186 | L1->top = L1->stack; |
| 188 | L1->stack_last = L1->stack + L1->stacksize - EXTRA_STACK; | 187 | L1->stack_last = L1->stack + BASIC_STACK_SIZE; |
| 189 | /* initialize first ci */ | 188 | /* initialize first ci */ |
| 190 | ci = &L1->base_ci; | 189 | ci = &L1->base_ci; |
| 191 | ci->next = ci->previous = NULL; | 190 | ci->next = ci->previous = NULL; |
| @@ -206,7 +205,7 @@ static void freestack (lua_State *L) { | |||
| 206 | L->ci = &L->base_ci; /* free the entire 'ci' list */ | 205 | L->ci = &L->base_ci; /* free the entire 'ci' list */ |
| 207 | luaE_freeCI(L); | 206 | luaE_freeCI(L); |
| 208 | lua_assert(L->nci == 0); | 207 | lua_assert(L->nci == 0); |
| 209 | luaM_freearray(L, L->stack, L->stacksize); /* free stack array */ | 208 | luaM_freearray(L, L->stack, stacksize(L) + EXTRA_STACK); /* free stack */ |
| 210 | } | 209 | } |
| 211 | 210 | ||
| 212 | 211 | ||
| @@ -256,7 +255,6 @@ static void preinit_thread (lua_State *L, global_State *g) { | |||
| 256 | L->stack = NULL; | 255 | L->stack = NULL; |
| 257 | L->ci = NULL; | 256 | L->ci = NULL; |
| 258 | L->nci = 0; | 257 | L->nci = 0; |
| 259 | L->stacksize = 0; | ||
| 260 | L->twups = L; /* thread has no upvalues */ | 258 | L->twups = L; /* thread has no upvalues */ |
| 261 | L->errorJmp = NULL; | 259 | L->errorJmp = NULL; |
| 262 | L->hook = NULL; | 260 | L->hook = NULL; |
