diff options
Diffstat (limited to 'lgc.c')
-rw-r--r-- | lgc.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lgc.c,v 2.33 2005/05/31 14:25:18 roberto Exp roberto $ | 2 | ** $Id: lgc.c,v 2.34 2005/06/07 18:53:45 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 | */ |
@@ -528,10 +528,10 @@ static void remarkupvals (global_State *g) { | |||
528 | static void atomic (lua_State *L) { | 528 | static void atomic (lua_State *L) { |
529 | global_State *g = G(L); | 529 | global_State *g = G(L); |
530 | size_t udsize; /* total size of userdata to be finalized */ | 530 | size_t udsize; /* total size of userdata to be finalized */ |
531 | /* remark objects cautch by write barrier */ | ||
532 | propagateall(g); | ||
533 | /* remark occasional upvalues of (maybe) dead threads */ | 531 | /* remark occasional upvalues of (maybe) dead threads */ |
534 | remarkupvals(g); | 532 | remarkupvals(g); |
533 | /* traverse objects cautch by write barrier and by 'remarkupvals' */ | ||
534 | propagateall(g); | ||
535 | /* remark weak tables */ | 535 | /* remark weak tables */ |
536 | g->gray = g->weak; | 536 | g->gray = g->weak; |
537 | g->weak = NULL; | 537 | g->weak = NULL; |