diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-01-29 15:17:26 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-01-29 15:17:26 -0200 |
commit | 6b71a9cfe53040aa605f5d75c58a2124d03f8912 (patch) | |
tree | adbd5eb607941b3fbf2eb36359b15841de4159ae /ltable.h | |
parent | fa8c44b510c6b56a290c14bd5dba4c7caec53284 (diff) | |
download | lua-6b71a9cfe53040aa605f5d75c58a2124d03f8912.tar.gz lua-6b71a9cfe53040aa605f5d75c58a2124d03f8912.tar.bz2 lua-6b71a9cfe53040aa605f5d75c58a2124d03f8912.zip |
smaller tables for machines with 8-bit alignment
Diffstat (limited to 'ltable.h')
-rw-r--r-- | ltable.h | 23 |
1 files changed, 15 insertions, 8 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ltable.h,v 1.29 2001/01/26 14:16:35 roberto Exp roberto $ | 2 | ** $Id: ltable.h,v 1.30 2001/01/29 13:02:20 roberto Exp roberto $ |
3 | ** Lua tables (hash) | 3 | ** Lua tables (hash) |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -10,13 +10,20 @@ | |||
10 | #include "lobject.h" | 10 | #include "lobject.h" |
11 | 11 | ||
12 | 12 | ||
13 | #define node(t,i) (&(t)->node[i]) | 13 | #define node(_t,_i) (&(_t)->node[_i]) |
14 | #define key(n) (&(n)->key) | 14 | #define val(_n) (&(_n)->val) |
15 | #define val(n) (&(n)->val) | ||
16 | 15 | ||
17 | #define luaH_get(t,k) luaH_set(NULL,t,k) | 16 | #define ttype_key(_n) ((_n)->key_tt) |
18 | #define luaH_getnum(t,k) luaH_setnum(NULL,t,k) | 17 | #define nvalue_key(_n) ((_n)->key_value.n) |
19 | #define luaH_getstr(t,k) luaH_setstr(NULL,t,k) | 18 | #define tsvalue_key(_n) ((TString *)(_n)->key_value.v) |
19 | #define setkey2obj(_o,_k) \ | ||
20 | ((_o)->tt = ttype_key(_k), (_o)->value = (_k)->key_value) | ||
21 | #define setobj2key(_k,_o) \ | ||
22 | (ttype_key(_k) = (_o)->tt, (_k)->key_value = (_o)->value) | ||
23 | |||
24 | #define luaH_get(_t,_k) luaH_set(NULL,_t,_k) | ||
25 | #define luaH_getnum(_t,_k) luaH_setnum(NULL,_t,_k) | ||
26 | #define luaH_getstr(_t,_k) luaH_setstr(NULL,_t,_k) | ||
20 | 27 | ||
21 | Hash *luaH_new (lua_State *L, int nhash); | 28 | Hash *luaH_new (lua_State *L, int nhash); |
22 | void luaH_free (lua_State *L, Hash *t); | 29 | void luaH_free (lua_State *L, Hash *t); |
@@ -27,7 +34,7 @@ TObject *luaH_setnum (lua_State *L, Hash *t, lua_Number key); | |||
27 | TObject *luaH_setstr (lua_State *L, Hash *t, TString *key); | 34 | TObject *luaH_setstr (lua_State *L, Hash *t, TString *key); |
28 | 35 | ||
29 | /* exported only for debugging */ | 36 | /* exported only for debugging */ |
30 | Node *luaH_mainposition (const Hash *t, const TObject *key); | 37 | Node *luaH_mainposition (const Hash *t, const Node *n); |
31 | 38 | ||
32 | 39 | ||
33 | #endif | 40 | #endif |