From 654b16e83aad64643d524295300cf29677b7f2ba Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 5 Jul 2001 17:31:14 -0300 Subject: better performance for table operations (mainly for integer indices) --- ltable.h | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'ltable.h') diff --git a/ltable.h b/ltable.h index a7c617c4..df0ff232 100644 --- a/ltable.h +++ b/ltable.h @@ -1,5 +1,5 @@ /* -** $Id: ltable.h,v 1.32 2001/02/02 16:32:00 roberto Exp roberto $ +** $Id: ltable.h,v 1.33 2001/06/26 13:20:45 roberto Exp roberto $ ** Lua tables (hash) ** See Copyright Notice in lua.h */ @@ -14,21 +14,19 @@ #define key(_n) (&(_n)->key) #define val(_n) (&(_n)->val) - -#define luaH_get(_t,_k) luaH_set(NULL,_t,_k) -#define luaH_getnum(_t,_k) luaH_setnum(NULL,_t,_k) -#define luaH_getstr(_t,_k) luaH_setstr(NULL,_t,_k) - +const TObject *luaH_getnum (Hash *t, int key); +TObject *luaH_setnum (lua_State *L, Hash *t, int key); +const TObject *luaH_getstr (Hash *t, TString *key); +TObject *luaH_setstr (lua_State *L, Hash *t, TString *key); +const TObject *luaH_get (Hash *t, const TObject *key); +TObject *luaH_set (lua_State *L, Hash *t, const TObject *key); Hash *luaH_new (lua_State *L, int nhash); void luaH_free (lua_State *L, Hash *t); -TObject *luaH_set (lua_State *L, Hash *t, const TObject *key); Node *luaH_next (lua_State *L, Hash *t, const TObject *r); int luaH_nexti (Hash *t, int i); -TObject *luaH_setnum (lua_State *L, Hash *t, lua_Number key); -TObject *luaH_setstr (lua_State *L, Hash *t, TString *key); /* exported only for debugging */ -Node *luaH_mainposition (const Hash *t, const Node *n); +Node *luaH_mainposition (const Hash *t, const TObject *key); #endif -- cgit v1.2.3-55-g6feb