mirror of https://github.com/rusefi/lua.git
local names are all in the constant pool, so they do not need to be
marked in GC.
This commit is contained in:
parent
758a381644
commit
67b44c9493
11
lgc.c
11
lgc.c
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
** $Id: lgc.c,v 1.18 1998/03/09 21:49:52 roberto Exp roberto $
|
** $Id: lgc.c,v 1.19 1998/07/12 16:10:38 roberto Exp roberto $
|
||||||
** Garbage Collector
|
** Garbage Collector
|
||||||
** See Copyright Notice in lua.h
|
** See Copyright Notice in lua.h
|
||||||
*/
|
*/
|
||||||
|
@ -163,20 +163,13 @@ static void strmark (TaggedString *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void protomark (TProtoFunc *f)
|
static void protomark (TProtoFunc *f) {
|
||||||
{
|
|
||||||
if (!f->head.marked) {
|
if (!f->head.marked) {
|
||||||
LocVar *v = f->locvars;
|
|
||||||
int i;
|
int i;
|
||||||
f->head.marked = 1;
|
f->head.marked = 1;
|
||||||
strmark(f->fileName);
|
strmark(f->fileName);
|
||||||
for (i=0; i<f->nconsts; i++)
|
for (i=0; i<f->nconsts; i++)
|
||||||
markobject(&f->consts[i]);
|
markobject(&f->consts[i]);
|
||||||
if (v) {
|
|
||||||
for (; v->line != -1; v++)
|
|
||||||
if (v->varname)
|
|
||||||
strmark(v->varname);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue