|
@@ -564,12 +564,11 @@ void lj_gc_finalize_cdata(lua_State *L)
|
|
|
/* Free all remaining GC objects. */
|
|
|
void lj_gc_freeall(global_State *g)
|
|
|
{
|
|
|
- MSize i, strmask;
|
|
|
+ MSize i;
|
|
|
/* Free everything, except super-fixed objects (the main thread). */
|
|
|
g->gc.currentwhite = LJ_GC_WHITES | LJ_GC_SFIXED;
|
|
|
gc_fullsweep(g, &g->gc.root);
|
|
|
- strmask = g->strmask;
|
|
|
- for (i = 0; i <= strmask; i++) /* Free all string hash chains. */
|
|
|
+ for (i = g->strmask; i != ~(MSize)0; i--) /* Free all string hash chains. */
|
|
|
gc_fullsweep(g, &g->strhash[i]);
|
|
|
}
|
|
|
|