diff options
Diffstat (limited to '')
| -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; |
