diff options
Diffstat (limited to 'src/lj_tab.c')
-rw-r--r-- | src/lj_tab.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lj_tab.c b/src/lj_tab.c index 37a3c32c..643d0819 100644 --- a/src/lj_tab.c +++ b/src/lj_tab.c | |||
@@ -204,6 +204,17 @@ GCtab * LJ_FASTCALL lj_tab_dup(lua_State *L, const GCtab *kt) | |||
204 | return t; | 204 | return t; |
205 | } | 205 | } |
206 | 206 | ||
207 | /* Clear a table. */ | ||
208 | void LJ_FASTCALL lj_tab_clear(GCtab *t) | ||
209 | { | ||
210 | clearapart(t); | ||
211 | if (t->hmask > 0) { | ||
212 | Node *node = noderef(t->node); | ||
213 | setmref(node->freetop, &node[t->hmask+1]); | ||
214 | clearhpart(t); | ||
215 | } | ||
216 | } | ||
217 | |||
207 | /* Free a table. */ | 218 | /* Free a table. */ |
208 | void LJ_FASTCALL lj_tab_free(global_State *g, GCtab *t) | 219 | void LJ_FASTCALL lj_tab_free(global_State *g, GCtab *t) |
209 | { | 220 | { |