diff options
Diffstat (limited to '')
| -rw-r--r-- | lgc.c | 11 |
1 files changed, 2 insertions, 9 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lgc.c,v 1.18 1998/03/09 21:49:52 roberto Exp roberto $ | 2 | ** $Id: lgc.c,v 1.19 1998/07/12 16:10:38 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 | */ |
| @@ -163,20 +163,13 @@ static void strmark (TaggedString *s) | |||
| 163 | } | 163 | } |
| 164 | 164 | ||
| 165 | 165 | ||
| 166 | static void protomark (TProtoFunc *f) | 166 | static void protomark (TProtoFunc *f) { |
| 167 | { | ||
| 168 | if (!f->head.marked) { | 167 | if (!f->head.marked) { |
| 169 | LocVar *v = f->locvars; | ||
| 170 | int i; | 168 | int i; |
| 171 | f->head.marked = 1; | 169 | f->head.marked = 1; |
| 172 | strmark(f->fileName); | 170 | strmark(f->fileName); |
| 173 | for (i=0; i<f->nconsts; i++) | 171 | for (i=0; i<f->nconsts; i++) |
| 174 | markobject(&f->consts[i]); | 172 | markobject(&f->consts[i]); |
| 175 | if (v) { | ||
| 176 | for (; v->line != -1; v++) | ||
| 177 | if (v->varname) | ||
| 178 | strmark(v->varname); | ||
| 179 | } | ||
| 180 | } | 173 | } |
| 181 | } | 174 | } |
| 182 | 175 | ||
