better control over GCObjects

This commit is contained in:
Roberto Ierusalimschy
2002-11-13 09:32:26 -02:00
parent 42dd080a2e
commit 2f91f95d94
7 changed files with 49 additions and 30 deletions

4
ldo.c
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldo.c,v 1.198 2002/11/06 19:08:00 roberto Exp roberto $
** $Id: ldo.c,v 1.199 2002/11/07 15:37:10 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@@ -105,7 +105,7 @@ static void correctstack (lua_State *L, TObject *oldstack) {
GCObject *up;
L->top = (L->top - oldstack) + L->stack;
for (up = L->openupval; up != NULL; up = up->gch.next)
(&up->uv)->v = ((&up->uv)->v - oldstack) + L->stack;
gcotouv(up)->v = (gcotouv(up)->v - oldstack) + L->stack;
for (ci = L->base_ci; ci <= L->ci; ci++) {
ci->base = (ci->base - oldstack) + L->stack;
ci->top = (ci->top - oldstack) + L->stack;