summaryrefslogtreecommitdiff
path: root/src/lj_tab.c
diff options
context:
space:
mode:
authorMike Pall <mike>2013-10-14 19:31:24 +0200
committerMike Pall <mike>2013-10-14 19:31:24 +0200
commit5d25645a210f32dddecde9c50afb14f9ee63e180 (patch)
treeb6cf446eb9c58f6d4e5ed0064c11d83cb2348b01 /src/lj_tab.c
parent3cdeb54a24047d1402a0c2d795888c0791f9157d (diff)
downloadluajit-5d25645a210f32dddecde9c50afb14f9ee63e180.tar.gz
luajit-5d25645a210f32dddecde9c50afb14f9ee63e180.tar.bz2
luajit-5d25645a210f32dddecde9c50afb14f9ee63e180.zip
FFI: Rehash finalizer table after GC cycle, if needed.
Diffstat (limited to 'src/lj_tab.c')
-rw-r--r--src/lj_tab.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lj_tab.c b/src/lj_tab.c
index ccad1f68..0a4bf107 100644
--- a/src/lj_tab.c
+++ b/src/lj_tab.c
@@ -351,6 +351,13 @@ static void rehashtab(lua_State *L, GCtab *t, cTValue *ek)
351 resizetab(L, t, asize, hsize2hbits(total)); 351 resizetab(L, t, asize, hsize2hbits(total));
352} 352}
353 353
354#if LJ_HASFFI
355void lj_tab_rehash(lua_State *L, GCtab *t)
356{
357 rehashtab(L, t, niltv(L));
358}
359#endif
360
354void lj_tab_reasize(lua_State *L, GCtab *t, uint32_t nasize) 361void lj_tab_reasize(lua_State *L, GCtab *t, uint32_t nasize)
355{ 362{
356 resizetab(L, t, nasize+1, t->hmask > 0 ? lj_fls(t->hmask)+1 : 0); 363 resizetab(L, t, nasize+1, t->hmask > 0 ? lj_fls(t->hmask)+1 : 0);