|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
-** $Id: lstate.c,v 2.28 2005/03/22 16:04:29 roberto Exp roberto $
|
|
|
+** $Id: lstate.c,v 2.29 2005/04/05 13:41:29 roberto Exp roberto $
|
|
|
** Global State
|
|
|
** See Copyright Notice in lua.h
|
|
|
*/
|
|
@@ -40,18 +40,21 @@ typedef struct LG {
|
|
|
|
|
|
|
|
|
static void stack_init (lua_State *L1, lua_State *L) {
|
|
|
+ /* initialize CallInfo array */
|
|
|
+ L1->base_ci = luaM_newvector(L, BASIC_CI_SIZE, CallInfo);
|
|
|
+ L1->ci = L1->base_ci;
|
|
|
+ L1->size_ci = BASIC_CI_SIZE;
|
|
|
+ L1->end_ci = L1->base_ci + L1->size_ci - 1;
|
|
|
+ /* initialize stack array */
|
|
|
L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, TValue);
|
|
|
L1->stacksize = BASIC_STACK_SIZE + EXTRA_STACK;
|
|
|
L1->top = L1->stack;
|
|
|
L1->stack_last = L1->stack+(L1->stacksize - EXTRA_STACK)-1;
|
|
|
- L1->base_ci = luaM_newvector(L, BASIC_CI_SIZE, CallInfo);
|
|
|
- L1->ci = L1->base_ci;
|
|
|
+ /* initialize first ci */
|
|
|
L1->ci->func = L1->top;
|
|
|
setnilvalue(L1->top++); /* `function' entry for this `ci' */
|
|
|
L1->base = L1->ci->base = L1->top;
|
|
|
L1->ci->top = L1->top + LUA_MINSTACK;
|
|
|
- L1->size_ci = BASIC_CI_SIZE;
|
|
|
- L1->end_ci = L1->base_ci + L1->size_ci - 1;
|
|
|
}
|
|
|
|
|
|
|