aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2005-04-05 12:57:59 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2005-04-05 12:57:59 -0300
commit9768e2f6819842ff39bced5ba979e787024caac9 (patch)
tree57e13b824a606a28e42e3233288f1476baeb178f
parent71eb8240366f1320b590c37949b5a1ea5d8227d6 (diff)
downloadlua-9768e2f6819842ff39bced5ba979e787024caac9.tar.gz
lua-9768e2f6819842ff39bced5ba979e787024caac9.tar.bz2
lua-9768e2f6819842ff39bced5ba979e787024caac9.zip
detail
-rw-r--r--lstate.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/lstate.c b/lstate.c
index 5b0b7d7e..872156ea 100644
--- a/lstate.c
+++ b/lstate.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstate.c,v 2.28 2005/03/22 16:04:29 roberto Exp roberto $ 2** $Id: lstate.c,v 2.29 2005/04/05 13:41:29 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*/
@@ -40,18 +40,21 @@ typedef struct LG {
40 40
41 41
42static void stack_init (lua_State *L1, lua_State *L) { 42static void stack_init (lua_State *L1, lua_State *L) {
43 /* initialize CallInfo array */
44 L1->base_ci = luaM_newvector(L, BASIC_CI_SIZE, CallInfo);
45 L1->ci = L1->base_ci;
46 L1->size_ci = BASIC_CI_SIZE;
47 L1->end_ci = L1->base_ci + L1->size_ci - 1;
48 /* initialize stack array */
43 L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, TValue); 49 L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, TValue);
44 L1->stacksize = BASIC_STACK_SIZE + EXTRA_STACK; 50 L1->stacksize = BASIC_STACK_SIZE + EXTRA_STACK;
45 L1->top = L1->stack; 51 L1->top = L1->stack;
46 L1->stack_last = L1->stack+(L1->stacksize - EXTRA_STACK)-1; 52 L1->stack_last = L1->stack+(L1->stacksize - EXTRA_STACK)-1;
47 L1->base_ci = luaM_newvector(L, BASIC_CI_SIZE, CallInfo); 53 /* initialize first ci */
48 L1->ci = L1->base_ci;
49 L1->ci->func = L1->top; 54 L1->ci->func = L1->top;
50 setnilvalue(L1->top++); /* `function' entry for this `ci' */ 55 setnilvalue(L1->top++); /* `function' entry for this `ci' */
51 L1->base = L1->ci->base = L1->top; 56 L1->base = L1->ci->base = L1->top;
52 L1->ci->top = L1->top + LUA_MINSTACK; 57 L1->ci->top = L1->top + LUA_MINSTACK;
53 L1->size_ci = BASIC_CI_SIZE;
54 L1->end_ci = L1->base_ci + L1->size_ci - 1;
55} 58}
56 59
57 60