Flatten and compress in-memory debug info (saves ~70%).

This commit is contained in:
Mike Pall
2011-06-09 01:27:37 +02:00
parent 585cf05dbd
commit 8c32b38ca3
14 changed files with 345 additions and 166 deletions

View File

@@ -257,10 +257,6 @@ static void gc_traverse_proto(global_State *g, GCproto *pt)
gc_mark_str(proto_chunkname(pt));
for (i = -(ptrdiff_t)pt->sizekgc; i < 0; i++) /* Mark collectable consts. */
gc_markobj(g, proto_kgc(pt, i));
for (i = 0; i < (ptrdiff_t)pt->sizeuv; i++) /* Mark upvalue names. */
gc_mark_str(proto_uvname(pt, i));
for (i = 0; i < (ptrdiff_t)pt->sizevarinfo; i++) /* Mark names of locals. */
gc_mark_str(gco2str(gcref(proto_varinfo(pt)[i].name)));
#if LJ_HASJIT
if (pt->trace) gc_marktrace(g, pt->trace);
#endif