diff options
author | Mike Pall <mike> | 2013-11-25 15:18:31 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2013-11-25 15:19:17 +0100 |
commit | 4593fb5e29adc09cd53beaba8777f5656434c08d (patch) | |
tree | 104b63db5384ad540451645294879e2cdc91ad28 /src/lj_tab.c | |
parent | c378f7dbb882068d1ae06edc8e7049fb1907db2d (diff) | |
download | luajit-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.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 | { |