diff --git a/src/lj_gc.c b/src/lj_gc.c index 06484f6f..9c0d6797 100644 --- a/src/lj_gc.c +++ b/src/lj_gc.c @@ -93,6 +93,9 @@ static void gc_mark_start(global_State *g) gc_markobj(g, tabref(mainthread(g)->env)); gc_marktv(g, &g->registrytv); gc_mark_gcroot(g); +#if LJ_HASFFI + if (ctype_ctsG(g)) gc_markobj(g, ctype_ctsG(g)->finalizer); +#endif g->gc.state = GCSpropagate; }