diff options
Diffstat (limited to '')
| -rw-r--r-- | lgc.c | 6 |
1 files changed, 4 insertions, 2 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lgc.c,v 1.88 2001/02/07 18:13:49 roberto Exp roberto $ | 2 | ** $Id: lgc.c,v 1.89 2001/02/20 18:15:33 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 | */ |
| @@ -62,8 +62,10 @@ static void protomark (Proto *f) { | |||
| 62 | 62 | ||
| 63 | static void markclosure (GCState *st, Closure *cl) { | 63 | static void markclosure (GCState *st, Closure *cl) { |
| 64 | if (!ismarked(cl)) { | 64 | if (!ismarked(cl)) { |
| 65 | if (!cl->isC) | 65 | if (!cl->isC) { |
| 66 | lua_assert(cl->nupvalues == cl->f.l->nupvalues); | ||
| 66 | protomark(cl->f.l); | 67 | protomark(cl->f.l); |
| 68 | } | ||
| 67 | cl->mark = st->cmark; /* chain it for later traversal */ | 69 | cl->mark = st->cmark; /* chain it for later traversal */ |
| 68 | st->cmark = cl; | 70 | st->cmark = cl; |
| 69 | } | 71 | } |
