aboutsummaryrefslogtreecommitdiff
path: root/src/lj_gc.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-08 05:26:52 +0100
committerMike Pall <mike>2010-02-08 05:26:52 +0100
commit60b5af44222fff87a7184365a7f49654032d4cbf (patch)
tree9c108bc330f16ef8914c3bea84b5170000788932 /src/lj_gc.c
parent1307f49137f328b0880c736644755428d84be0ba (diff)
downloadluajit-60b5af44222fff87a7184365a7f49654032d4cbf.tar.gz
luajit-60b5af44222fff87a7184365a7f49654032d4cbf.tar.bz2
luajit-60b5af44222fff87a7184365a7f49654032d4cbf.zip
Redesign of prototype generation, part 1: varinfo and uvname.
Use a growable, per-chunk variable stack. Collect varinfo/uvname for prototype at the end.
Diffstat (limited to 'src/lj_gc.c')
-rw-r--r--src/lj_gc.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/lj_gc.c b/src/lj_gc.c
index c1ade95a..5750d0ef 100644
--- a/src/lj_gc.c
+++ b/src/lj_gc.c
@@ -256,11 +256,9 @@ static void gc_traverse_proto(global_State *g, GCproto *pt)
256 for (i = -(ptrdiff_t)pt->sizekgc; i < 0; i++) /* Mark collectable consts. */ 256 for (i = -(ptrdiff_t)pt->sizekgc; i < 0; i++) /* Mark collectable consts. */
257 gc_markobj(g, proto_kgc(pt, i)); 257 gc_markobj(g, proto_kgc(pt, i));
258 for (i = 0; i < (ptrdiff_t)pt->sizeuvname; i++) /* Mark upvalue names. */ 258 for (i = 0; i < (ptrdiff_t)pt->sizeuvname; i++) /* Mark upvalue names. */
259 if (proto_uvname(pt, i)) 259 gc_mark_str(gco2str(proto_uvname(pt, i)));
260 gc_mark_str(gco2str(proto_uvname(pt, i)));
261 for (i = 0; i < (ptrdiff_t)pt->sizevarinfo; i++) /* Mark names of locals. */ 260 for (i = 0; i < (ptrdiff_t)pt->sizevarinfo; i++) /* Mark names of locals. */
262 if (gcref(proto_varinfo(pt)[i].name)) 261 gc_mark_str(gco2str(gcref(proto_varinfo(pt)[i].name)));
263 gc_mark_str(gco2str(gcref(proto_varinfo(pt)[i].name)));
264} 262}
265 263
266/* Traverse the frame structure of a stack. */ 264/* Traverse the frame structure of a stack. */