diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-03-19 16:41:10 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-03-19 16:41:10 -0300 |
commit | 1444d28476af70bc51c4fdba71deb669f41c77a3 (patch) | |
tree | 6d19c5653702ea341f6650f3e917ed77456f757f /hash.c | |
parent | 2de803c250de373186afbbea0a5978f54c52850c (diff) | |
download | lua-1444d28476af70bc51c4fdba71deb669f41c77a3.tar.gz lua-1444d28476af70bc51c4fdba71deb669f41c77a3.tar.bz2 lua-1444d28476af70bc51c4fdba71deb669f41c77a3.zip |
first full implementation of internal methods
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; |