aboutsummaryrefslogtreecommitdiff
path: root/lstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'lstate.c')
-rw-r--r--lstate.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/lstate.c b/lstate.c
index e59f1a18..913b42d4 100644
--- a/lstate.c
+++ b/lstate.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstate.c,v 1.133 2003/12/04 17:22:42 roberto Exp roberto $ 2** $Id: lstate.c,v 1.134 2003/12/04 18:52:23 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*/
@@ -50,7 +50,7 @@ typedef struct LG {
50 50
51 51
52static void stack_init (lua_State *L1, lua_State *L) { 52static void stack_init (lua_State *L1, lua_State *L) {
53 L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, TObject); 53 L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, TValue);
54 L1->stacksize = BASIC_STACK_SIZE + EXTRA_STACK; 54 L1->stacksize = BASIC_STACK_SIZE + EXTRA_STACK;
55 L1->top = L1->stack; 55 L1->top = L1->stack;
56 L1->stack_last = L1->stack+(L1->stacksize - EXTRA_STACK)-1; 56 L1->stack_last = L1->stack+(L1->stacksize - EXTRA_STACK)-1;
@@ -66,7 +66,7 @@ static void stack_init (lua_State *L1, lua_State *L) {
66 66
67static void freestack (lua_State *L, lua_State *L1) { 67static void freestack (lua_State *L, lua_State *L1) {
68 luaM_freearray(L, L1->base_ci, L1->size_ci, CallInfo); 68 luaM_freearray(L, L1->base_ci, L1->size_ci, CallInfo);
69 luaM_freearray(L, L1->stack, L1->stacksize, TObject); 69 luaM_freearray(L, L1->stack, L1->stacksize, TValue);
70} 70}
71 71
72 72
@@ -79,12 +79,12 @@ static void f_luaopen (lua_State *L, void *ud) {
79 u = cast(Udata *, luaM_malloc(L, sizeudata(0))); 79 u = cast(Udata *, luaM_malloc(L, sizeudata(0)));
80 u->uv.len = 0; 80 u->uv.len = 0;
81 u->uv.metatable = NULL; 81 u->uv.metatable = NULL;
82 G(L)->firstudata = valtogco(u); 82 G(L)->firstudata = obj2gco(u);
83 luaC_link(L, valtogco(u), LUA_TUSERDATA); 83 luaC_link(L, obj2gco(u), LUA_TUSERDATA);
84 setbit(u->uv.marked, FIXEDBIT); 84 setbit(u->uv.marked, FIXEDBIT);
85 stack_init(L, L); /* init stack */ 85 stack_init(L, L); /* init stack */
86 sethvalue(gt(L), luaH_new(L, 0, 4)); /* table of globals */ 86 sethvalue(L, gt(L), luaH_new(L, 0, 4)); /* table of globals */
87 sethvalue(registry(L), luaH_new(L, 4, 4)); /* registry */ 87 sethvalue(L, registry(L), luaH_new(L, 4, 4)); /* registry */
88 luaS_resize(L, MINSTRTABSIZE); /* initial size of string table */ 88 luaS_resize(L, MINSTRTABSIZE); /* initial size of string table */
89 luaT_init(L); 89 luaT_init(L);
90 luaX_init(L); 90 luaX_init(L);
@@ -127,11 +127,12 @@ static void close_state (lua_State *L) {
127 127
128lua_State *luaE_newthread (lua_State *L) { 128lua_State *luaE_newthread (lua_State *L) {
129 lua_State *L1 = tostate(luaM_malloc(L, state_size(lua_State))); 129 lua_State *L1 = tostate(luaM_malloc(L, state_size(lua_State)));
130 luaC_link(L, valtogco(L1), LUA_TTHREAD); 130 luaC_link(L, obj2gco(L1), LUA_TTHREAD);
131 preinit_state(L1); 131 preinit_state(L1);
132 L1->l_G = L->l_G; 132 L1->l_G = L->l_G;
133 stack_init(L1, L); /* init stack */ 133 stack_init(L1, L); /* init stack */
134 setobj2n(gt(L1), gt(L)); /* share table of globals */ 134 setobj2n(L, gt(L1), gt(L)); /* share table of globals */
135 lua_assert(iswhite(obj2gco(L1)));
135 return L1; 136 return L1;
136} 137}
137 138