aboutsummaryrefslogtreecommitdiff
path: root/src/lj_gc.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_gc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lj_gc.c b/src/lj_gc.c
index 9cabdef0..69e78706 100644
--- a/src/lj_gc.c
+++ b/src/lj_gc.c
@@ -604,12 +604,11 @@ void lj_gc_finalize_cdata(lua_State *L)
604/* Free all remaining GC objects. */ 604/* Free all remaining GC objects. */
605void lj_gc_freeall(global_State *g) 605void lj_gc_freeall(global_State *g)
606{ 606{
607 MSize i, strmask; 607 MSize i;
608 /* Free everything, except super-fixed objects (the main thread). */ 608 /* Free everything, except super-fixed objects (the main thread). */
609 g->gc.currentwhite = LJ_GC_WHITES | LJ_GC_SFIXED; 609 g->gc.currentwhite = LJ_GC_WHITES | LJ_GC_SFIXED;
610 gc_fullsweep(g, &g->gc.root); 610 gc_fullsweep(g, &g->gc.root);
611 strmask = g->str.mask; 611 for (i = g->str.mask; i != ~(MSize)0; i--) /* Free all string hash chains. */
612 for (i = 0; i <= strmask; i++) /* Free all string hash chains. */
613 gc_sweepstr(g, &g->str.tab[i]); 612 gc_sweepstr(g, &g->str.tab[i]);
614} 613}
615 614