aboutsummaryrefslogtreecommitdiff
path: root/lgc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lgc.c')
-rw-r--r--lgc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lgc.c b/lgc.c
index eee5555d..3d1af41f 100644
--- a/lgc.c
+++ b/lgc.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lgc.c,v 2.32 2005/05/05 15:34:03 roberto Exp roberto $ 2** $Id: lgc.c,v 2.33 2005/05/31 14:25:18 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*/
@@ -673,12 +673,13 @@ void luaC_barrierf (lua_State *L, GCObject *o, GCObject *v) {
673} 673}
674 674
675 675
676void luaC_barrierback (lua_State *L, GCObject *o) { 676void luaC_barrierback (lua_State *L, Table *t) {
677 global_State *g = G(L); 677 global_State *g = G(L);
678 GCObject *o = obj2gco(t);
678 lua_assert(isblack(o) && !isdead(g, o)); 679 lua_assert(isblack(o) && !isdead(g, o));
679 lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause); 680 lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause);
680 black2gray(o); /* make table gray (again) */ 681 black2gray(o); /* make table gray (again) */
681 gco2h(o)->gclist = g->grayagain; 682 t->gclist = g->grayagain;
682 g->grayagain = o; 683 g->grayagain = o;
683} 684}
684 685