aboutsummaryrefslogtreecommitdiff
path: root/src/lj_tab.c
diff options
context:
space:
mode:
authorMike Pall <mike>2013-11-25 15:18:31 +0100
committerMike Pall <mike>2013-11-25 15:19:17 +0100
commit4593fb5e29adc09cd53beaba8777f5656434c08d (patch)
tree104b63db5384ad540451645294879e2cdc91ad28 /src/lj_tab.c
parentc378f7dbb882068d1ae06edc8e7049fb1907db2d (diff)
downloadluajit-4593fb5e29adc09cd53beaba8777f5656434c08d.tar.gz
luajit-4593fb5e29adc09cd53beaba8777f5656434c08d.tar.bz2
luajit-4593fb5e29adc09cd53beaba8777f5656434c08d.zip
Add table.clear().
Diffstat (limited to 'src/lj_tab.c')
-rw-r--r--src/lj_tab.c11
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. */
208void 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. */
208void LJ_FASTCALL lj_tab_free(global_State *g, GCtab *t) 219void LJ_FASTCALL lj_tab_free(global_State *g, GCtab *t)
209{ 220{