FFI: Fix marking of ffi.gc() finalizer table.

This commit is contained in:
Mike Pall 2011-03-17 17:31:48 +01:00
parent ac3b1dcfc5
commit 063182d79c

View File

@ -310,7 +310,7 @@ static size_t propagatemark(global_State *g)
setgcrefr(g->gc.gray, o->gch.gclist); /* Remove from gray list. */
if (LJ_LIKELY(o->gch.gct == ~LJ_TTAB)) {
GCtab *t = gco2tab(o);
if (gc_traverse_tab(g, t))
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);