aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-01-26 13:58:50 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-01-26 13:58:50 -0200
commitb82242d4c493191d543fe5784b4d884e0cba9809 (patch)
tree0f006771a6b86fd5501f21085dc60a643ca1ea08
parentac390020e91e14f00200ad3df97682b715d3e59b (diff)
downloadlua-b82242d4c493191d543fe5784b4d884e0cba9809.tar.gz
lua-b82242d4c493191d543fe5784b4d884e0cba9809.tar.bz2
lua-b82242d4c493191d543fe5784b4d884e0cba9809.zip
detail
-rw-r--r--lobject.h7
-rw-r--r--lstring.c4
-rw-r--r--ltable.c8
3 files changed, 11 insertions, 8 deletions
diff --git a/lobject.h b/lobject.h
index 008b56ab..79600a87 100644
--- a/lobject.h
+++ b/lobject.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lobject.h,v 1.87 2001/01/19 13:20:30 roberto Exp roberto $ 2** $Id: lobject.h,v 1.88 2001/01/25 16:45:36 roberto Exp roberto $
3** Type definitions for Lua objects 3** Type definitions for Lua objects
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -200,6 +200,11 @@ typedef struct Hash {
200 200
201 201
202/* 202/*
203** "module" operation (size is always a power of 2) */
204#define lmod(s,size) ((int)((s) & ((size)-1)))
205
206
207/*
203** informations about a call (for debugging) 208** informations about a call (for debugging)
204*/ 209*/
205typedef struct CallInfo { 210typedef struct CallInfo {
diff --git a/lstring.c b/lstring.c
index 6eb236b1..abc293bd 100644
--- a/lstring.c
+++ b/lstring.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstring.c,v 1.50 2001/01/11 18:59:20 roberto Exp roberto $ 2** $Id: lstring.c,v 1.51 2001/01/19 13:20:30 roberto Exp roberto $
3** String table (keeps all strings handled by Lua) 3** String table (keeps all strings handled by Lua)
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -15,8 +15,6 @@
15#include "lstring.h" 15#include "lstring.h"
16 16
17 17
18#define lmod(s,size) ((int)((s) & ((size)-1)))
19
20 18
21void luaS_init (lua_State *L) { 19void luaS_init (lua_State *L) {
22 luaS_resize(L, &G(L)->strt, MINPOWER2); 20 luaS_resize(L, &G(L)->strt, MINPOWER2);
diff --git a/ltable.c b/ltable.c
index 6453bf85..5893f629 100644
--- a/ltable.c
+++ b/ltable.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltable.c,v 1.68 2001/01/26 13:18:00 roberto Exp roberto $ 2** $Id: ltable.c,v 1.69 2001/01/26 14:16:35 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*/
@@ -31,9 +31,9 @@
31#define TagDefault LUA_TTABLE 31#define TagDefault LUA_TTABLE
32 32
33 33
34#define hashnum(t,n) (&t->node[(luint32)(lint32)(n)&(t->size-1)]) 34#define hashnum(t,n) (&t->node[lmod((luint32)(lint32)(n), t->size)])
35#define hashstr(t,str) (&t->node[(str)->u.s.hash&(t->size-1)]) 35#define hashstr(t,str) (&t->node[lmod((str)->u.s.hash, t->size)])
36#define hashpointer(t,p) (&t->node[IntPoint(p)&(t->size-1)]) 36#define hashpointer(t,p) (&t->node[lmod(IntPoint(p), t->size)])
37 37
38 38
39/* 39/*