aboutsummaryrefslogtreecommitdiff
path: root/lgc.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2009-12-22 13:32:50 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2009-12-22 13:32:50 -0200
commitf84b575cfa52dc832751846aa0b4c8ff437d3ca3 (patch)
tree246ef484b08d132d006c16a6c8cbe55e61c3bfce /lgc.c
parent3cb343efd644fb771b6d8193406afd49527dc1ec (diff)
downloadlua-f84b575cfa52dc832751846aa0b4c8ff437d3ca3.tar.gz
lua-f84b575cfa52dc832751846aa0b4c8ff437d3ca3.tar.bz2
lua-f84b575cfa52dc832751846aa0b4c8ff437d3ca3.zip
no more pseudoindex LUA_GLOBALSINDEX; global table now accessible
through registry
Diffstat (limited to 'lgc.c')
-rw-r--r--lgc.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lgc.c b/lgc.c
index 7a3df48a..c2fd79a4 100644
--- a/lgc.c
+++ b/lgc.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lgc.c,v 2.65 2009/12/11 21:31:14 roberto Exp roberto $ 2** $Id: lgc.c,v 2.66 2009/12/16 16:42:58 roberto Exp roberto $
3** Garbage Collector 3** Garbage Collector
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -230,7 +230,7 @@ static void markroot (lua_State *L) {
230 g->weak = g->ephemeron = g->allweak = NULL; 230 g->weak = g->ephemeron = g->allweak = NULL;
231 markobject(g, g->mainthread); 231 markobject(g, g->mainthread);
232 /* make global table and registry to be traversed before main stack */ 232 /* make global table and registry to be traversed before main stack */
233 markvalue(g, &g->l_gt); 233 markobject(g, g->l_gt);
234 markvalue(g, &g->l_registry); 234 markvalue(g, &g->l_registry);
235 markmt(g); 235 markmt(g);
236 markbeingfnz(g); /* mark any finalizing object left from previous cycle */ 236 markbeingfnz(g); /* mark any finalizing object left from previous cycle */
@@ -703,8 +703,7 @@ static void atomic (lua_State *L) {
703 g->gcstate = GCSatomic; 703 g->gcstate = GCSatomic;
704 lua_assert(!iswhite(obj2gco(g->mainthread))); 704 lua_assert(!iswhite(obj2gco(g->mainthread)));
705 markobject(g, L); /* mark running thread */ 705 markobject(g, L); /* mark running thread */
706 /* global table, registry, and global metatables may be changed by API */ 706 /* registry and global metatables may be changed by API */
707 markvalue(g, &g->l_gt);
708 markvalue(g, &g->l_registry); 707 markvalue(g, &g->l_registry);
709 markmt(g); /* mark basic metatables */ 708 markmt(g); /* mark basic metatables */
710 /* remark occasional upvalues of (maybe) dead threads */ 709 /* remark occasional upvalues of (maybe) dead threads */