diff options
Diffstat (limited to 'hash.c')
-rw-r--r-- | hash.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -3,7 +3,7 @@ | |||
3 | ** hash manager for lua | 3 | ** hash manager for lua |
4 | */ | 4 | */ |
5 | 5 | ||
6 | char *rcs_hash="$Id: hash.c,v 2.34 1997/02/26 17:38:41 roberto Unstable roberto $"; | 6 | char *rcs_hash="$Id: hash.c,v 2.35 1997/03/11 18:44:28 roberto Exp roberto $"; |
7 | 7 | ||
8 | 8 | ||
9 | #include "mem.h" | 9 | #include "mem.h" |
@@ -159,7 +159,7 @@ void lua_hashmark (Hash *h) | |||
159 | } | 159 | } |
160 | 160 | ||
161 | 161 | ||
162 | static void call_fallbacks (void) | 162 | void luaI_hashcallIM (void) |
163 | { | 163 | { |
164 | Hash *curr_array; | 164 | Hash *curr_array; |
165 | Object t; | 165 | Object t; |
@@ -168,10 +168,10 @@ static void call_fallbacks (void) | |||
168 | if (markarray(curr_array) != 1) | 168 | if (markarray(curr_array) != 1) |
169 | { | 169 | { |
170 | avalue(&t) = curr_array; | 170 | avalue(&t) = curr_array; |
171 | luaI_gcFB(&t); | 171 | luaI_gcIM(&t); |
172 | } | 172 | } |
173 | ttype(&t) = LUA_T_NIL; | 173 | ttype(&t) = LUA_T_NIL; |
174 | luaI_gcFB(&t); /* end of list */ | 174 | luaI_gcIM(&t); /* end of list */ |
175 | } | 175 | } |
176 | 176 | ||
177 | 177 | ||
@@ -183,7 +183,6 @@ Long lua_hashcollector (void) | |||
183 | { | 183 | { |
184 | Hash *curr_array = listhead, *prev = NULL; | 184 | Hash *curr_array = listhead, *prev = NULL; |
185 | Long counter = 0; | 185 | Long counter = 0; |
186 | call_fallbacks(); | ||
187 | while (curr_array != NULL) | 186 | while (curr_array != NULL) |
188 | { | 187 | { |
189 | Hash *next = curr_array->next; | 188 | Hash *next = curr_array->next; |