Fix GC step size calculation.

Thanks to Igor Ehrlich.
This commit is contained in:
Mike Pall 2016-10-13 18:36:39 +02:00
parent fcc8244899
commit a68c411857

View File

@ -307,7 +307,7 @@ static size_t propagatemark(global_State *g)
if (gc_traverse_tab(g, t) > 0)
black2gray(o); /* Keep weak tables gray. */
return sizeof(GCtab) + sizeof(TValue) * t->asize +
sizeof(Node) * (t->hmask + 1);
(t->hmask ? sizeof(Node) * (t->hmask + 1) : 0);
} else if (LJ_LIKELY(gct == ~LJ_TFUNC)) {
GCfunc *fn = gco2func(o);
gc_traverse_func(g, fn);