diff options
Diffstat (limited to 'src/lj_gc.c')
-rw-r--r-- | src/lj_gc.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/src/lj_gc.c b/src/lj_gc.c index 69e78706..bfa4daa8 100644 --- a/src/lj_gc.c +++ b/src/lj_gc.c | |||
@@ -554,7 +554,6 @@ static void gc_finalize(lua_State *L) | |||
554 | setcdataV(L, &tmp, gco2cd(o)); | 554 | setcdataV(L, &tmp, gco2cd(o)); |
555 | tv = lj_tab_set(L, tabref(g->gcroot[GCROOT_FFI_FIN]), &tmp); | 555 | tv = lj_tab_set(L, tabref(g->gcroot[GCROOT_FFI_FIN]), &tmp); |
556 | if (!tvisnil(tv)) { | 556 | if (!tvisnil(tv)) { |
557 | g->gc.nocdatafin = 0; | ||
558 | copyTV(L, &tmp, tv); | 557 | copyTV(L, &tmp, tv); |
559 | setnilV(tv); /* Clear entry in finalizer table. */ | 558 | setnilV(tv); /* Clear entry in finalizer table. */ |
560 | gc_call_finalizer(g, L, &tmp, o); | 559 | gc_call_finalizer(g, L, &tmp, o); |
@@ -689,9 +688,6 @@ static size_t gc_onestep(lua_State *L) | |||
689 | lj_str_resize(L, g->str.mask >> 1); /* Shrink string table. */ | 688 | lj_str_resize(L, g->str.mask >> 1); /* Shrink string table. */ |
690 | if (gcref(g->gc.mmudata)) { /* Need any finalizations? */ | 689 | if (gcref(g->gc.mmudata)) { /* Need any finalizations? */ |
691 | g->gc.state = GCSfinalize; | 690 | g->gc.state = GCSfinalize; |
692 | #if LJ_HASFFI | ||
693 | g->gc.nocdatafin = 1; | ||
694 | #endif | ||
695 | } else { /* Otherwise skip this phase to help the JIT. */ | 691 | } else { /* Otherwise skip this phase to help the JIT. */ |
696 | g->gc.state = GCSpause; /* End of GC cycle. */ | 692 | g->gc.state = GCSpause; /* End of GC cycle. */ |
697 | g->gc.debt = 0; | 693 | g->gc.debt = 0; |
@@ -711,9 +707,6 @@ static size_t gc_onestep(lua_State *L) | |||
711 | g->gc.estimate -= GCFINALIZECOST; | 707 | g->gc.estimate -= GCFINALIZECOST; |
712 | return GCFINALIZECOST; | 708 | return GCFINALIZECOST; |
713 | } | 709 | } |
714 | #if LJ_HASFFI | ||
715 | if (!g->gc.nocdatafin) lj_tab_rehash(L, tabref(g->gcroot[GCROOT_FFI_FIN])); | ||
716 | #endif | ||
717 | g->gc.state = GCSpause; /* End of GC cycle. */ | 710 | g->gc.state = GCSpause; /* End of GC cycle. */ |
718 | g->gc.debt = 0; | 711 | g->gc.debt = 0; |
719 | return 0; | 712 | return 0; |