diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-03-11 15:44:28 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-03-11 15:44:28 -0300 |
commit | b6d91e24e23edfe98ad732660fd456e91658edb9 (patch) | |
tree | a66fb8348758f32df6c5d5ab1af1aece2a63009f /hash.c | |
parent | a82ab0852eaca43cb56be5134833c97e6bb7ac98 (diff) | |
download | lua-b6d91e24e23edfe98ad732660fd456e91658edb9.tar.gz lua-b6d91e24e23edfe98ad732660fd456e91658edb9.tar.bz2 lua-b6d91e24e23edfe98ad732660fd456e91658edb9.zip |
"tag" changed to "ttype" (since now tag has other meaning)
Diffstat (limited to 'hash.c')
-rw-r--r-- | hash.c | 29 |
1 files changed, 15 insertions, 14 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.33 1997/02/11 11:35:05 roberto Exp roberto $"; | 6 | char *rcs_hash="$Id: hash.c,v 2.34 1997/02/26 17:38:41 roberto Unstable roberto $"; |
7 | 7 | ||
8 | 8 | ||
9 | #include "mem.h" | 9 | #include "mem.h" |
@@ -51,7 +51,7 @@ int luaI_redimension (int nhash) | |||
51 | static int hashindex (Hash *t, Object *ref) /* hash function */ | 51 | static int hashindex (Hash *t, Object *ref) /* hash function */ |
52 | { | 52 | { |
53 | long int h; | 53 | long int h; |
54 | switch (tag(ref)) { | 54 | switch (ttype(ref)) { |
55 | case LUA_T_NUMBER: | 55 | case LUA_T_NUMBER: |
56 | h = (long int)nvalue(ref); break; | 56 | h = (long int)nvalue(ref); break; |
57 | case LUA_T_STRING: case LUA_T_USERDATA: | 57 | case LUA_T_STRING: case LUA_T_USERDATA: |
@@ -72,8 +72,8 @@ static int hashindex (Hash *t, Object *ref) /* hash function */ | |||
72 | 72 | ||
73 | int lua_equalObj (Object *t1, Object *t2) | 73 | int lua_equalObj (Object *t1, Object *t2) |
74 | { | 74 | { |
75 | if (tag(t1) != tag(t2)) return 0; | 75 | if (ttype(t1) != ttype(t2)) return 0; |
76 | switch (tag(t1)) | 76 | switch (ttype(t1)) |
77 | { | 77 | { |
78 | case LUA_T_NIL: return 1; | 78 | case LUA_T_NIL: return 1; |
79 | case LUA_T_NUMBER: return nvalue(t1) == nvalue(t2); | 79 | case LUA_T_NUMBER: return nvalue(t1) == nvalue(t2); |
@@ -90,7 +90,7 @@ int lua_equalObj (Object *t1, Object *t2) | |||
90 | static int present (Hash *t, Object *ref) | 90 | static int present (Hash *t, Object *ref) |
91 | { | 91 | { |
92 | int h = hashindex(t, ref); | 92 | int h = hashindex(t, ref); |
93 | while (tag(ref(node(t, h))) != LUA_T_NIL) | 93 | while (ttype(ref(node(t, h))) != LUA_T_NIL) |
94 | { | 94 | { |
95 | if (lua_equalObj(ref, ref(node(t, h)))) | 95 | if (lua_equalObj(ref, ref(node(t, h)))) |
96 | return h; | 96 | return h; |
@@ -108,7 +108,7 @@ static Node *hashnodecreate (int nhash) | |||
108 | int i; | 108 | int i; |
109 | Node *v = newvector (nhash, Node); | 109 | Node *v = newvector (nhash, Node); |
110 | for (i=0; i<nhash; i++) | 110 | for (i=0; i<nhash; i++) |
111 | tag(ref(&v[i])) = LUA_T_NIL; | 111 | ttype(ref(&v[i])) = LUA_T_NIL; |
112 | return v; | 112 | return v; |
113 | } | 113 | } |
114 | 114 | ||
@@ -149,7 +149,7 @@ void lua_hashmark (Hash *h) | |||
149 | for (i=0; i<nhash(h); i++) | 149 | for (i=0; i<nhash(h); i++) |
150 | { | 150 | { |
151 | Node *n = node(h,i); | 151 | Node *n = node(h,i); |
152 | if (tag(ref(n)) != LUA_T_NIL) | 152 | if (ttype(ref(n)) != LUA_T_NIL) |
153 | { | 153 | { |
154 | lua_markobject(&n->ref); | 154 | lua_markobject(&n->ref); |
155 | lua_markobject(&n->val); | 155 | lua_markobject(&n->val); |
@@ -163,14 +163,14 @@ static void call_fallbacks (void) | |||
163 | { | 163 | { |
164 | Hash *curr_array; | 164 | Hash *curr_array; |
165 | Object t; | 165 | Object t; |
166 | tag(&t) = LUA_T_ARRAY; | 166 | ttype(&t) = LUA_T_ARRAY; |
167 | for (curr_array = listhead; curr_array; curr_array = curr_array->next) | 167 | for (curr_array = listhead; curr_array; curr_array = curr_array->next) |
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_gcFB(&t); |
172 | } | 172 | } |
173 | tag(&t) = LUA_T_NIL; | 173 | ttype(&t) = LUA_T_NIL; |
174 | luaI_gcFB(&t); /* end of list */ | 174 | luaI_gcFB(&t); /* end of list */ |
175 | } | 175 | } |
176 | 176 | ||
@@ -235,7 +235,7 @@ static void rehash (Hash *t) | |||
235 | for (i=0; i<nold; i++) | 235 | for (i=0; i<nold; i++) |
236 | { | 236 | { |
237 | Node *n = vold+i; | 237 | Node *n = vold+i; |
238 | if (tag(ref(n)) != LUA_T_NIL && tag(val(n)) != LUA_T_NIL) | 238 | if (ttype(ref(n)) != LUA_T_NIL && ttype(val(n)) != LUA_T_NIL) |
239 | *node(t, present(t, ref(n))) = *n; /* copy old node to new hahs */ | 239 | *node(t, present(t, ref(n))) = *n; /* copy old node to new hahs */ |
240 | } | 240 | } |
241 | luaI_free(vold); | 241 | luaI_free(vold); |
@@ -248,7 +248,7 @@ static void rehash (Hash *t) | |||
248 | Object *lua_hashget (Hash *t, Object *ref) | 248 | Object *lua_hashget (Hash *t, Object *ref) |
249 | { | 249 | { |
250 | int h = present(t, ref); | 250 | int h = present(t, ref); |
251 | if (tag(ref(node(t, h))) != LUA_T_NIL) return val(node(t, h)); | 251 | if (ttype(ref(node(t, h))) != LUA_T_NIL) return val(node(t, h)); |
252 | else return NULL; | 252 | else return NULL; |
253 | } | 253 | } |
254 | 254 | ||
@@ -263,7 +263,7 @@ Object *lua_hashdefine (Hash *t, Object *ref) | |||
263 | Node *n; | 263 | Node *n; |
264 | h = present(t, ref); | 264 | h = present(t, ref); |
265 | n = node(t, h); | 265 | n = node(t, h); |
266 | if (tag(ref(n)) == LUA_T_NIL) | 266 | if (ttype(ref(n)) == LUA_T_NIL) |
267 | { | 267 | { |
268 | nuse(t)++; | 268 | nuse(t)++; |
269 | if ((float)nuse(t) > (float)nhash(t)*REHASH_LIMIT) | 269 | if ((float)nuse(t) > (float)nhash(t)*REHASH_LIMIT) |
@@ -273,7 +273,7 @@ Object *lua_hashdefine (Hash *t, Object *ref) | |||
273 | n = node(t, h); | 273 | n = node(t, h); |
274 | } | 274 | } |
275 | *ref(n) = *ref; | 275 | *ref(n) = *ref; |
276 | tag(val(n)) = LUA_T_NIL; | 276 | ttype(val(n)) = LUA_T_NIL; |
277 | } | 277 | } |
278 | return (val(n)); | 278 | return (val(n)); |
279 | } | 279 | } |
@@ -289,7 +289,8 @@ static void hashnext (Hash *t, int i) | |||
289 | { | 289 | { |
290 | if (i >= nhash(t)) | 290 | if (i >= nhash(t)) |
291 | return; | 291 | return; |
292 | while (tag(ref(node(t,i))) == LUA_T_NIL || tag(val(node(t,i))) == LUA_T_NIL) | 292 | while (ttype(ref(node(t,i))) == LUA_T_NIL || |
293 | ttype(val(node(t,i))) == LUA_T_NIL) | ||
293 | { | 294 | { |
294 | if (++i >= nhash(t)) | 295 | if (++i >= nhash(t)) |
295 | return; | 296 | return; |