aboutsummaryrefslogtreecommitdiff
path: root/lmem.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-11-24 15:39:56 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-11-24 15:39:56 -0200
commit96253ed8ceb38afa50887ccb5500442b5b220f08 (patch)
tree4b42b80f781b0cbe95782f8e8ebec06d85e80ae4 /lmem.c
parent35d6b1505702b0f4a2eee0e6d2f8dfc50943a1a7 (diff)
downloadlua-96253ed8ceb38afa50887ccb5500442b5b220f08.tar.gz
lua-96253ed8ceb38afa50887ccb5500442b5b220f08.tar.bz2
lua-96253ed8ceb38afa50887ccb5500442b5b220f08.zip
better support for 64-bit machines (avoid excessive use of longs)
Diffstat (limited to 'lmem.c')
-rw-r--r--lmem.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/lmem.c b/lmem.c
index 612d5899..3a219f27 100644
--- a/lmem.c
+++ b/lmem.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lmem.c,v 1.38 2000/10/26 12:47:05 roberto Exp roberto $ 2** $Id: lmem.c,v 1.39 2000/10/30 16:29:59 roberto Exp roberto $
3** Interface to Memory Manager 3** Interface to Memory Manager
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -41,17 +41,17 @@
41#define MARK 0x55 /* 01010101 (a nice pattern) */ 41#define MARK 0x55 /* 01010101 (a nice pattern) */
42 42
43 43
44#define blocksize(b) ((unsigned long *)((char *)(b) - HEADER)) 44#define blocksize(b) ((size_t *)((char *)(b) - HEADER))
45 45
46unsigned long memdebug_numblocks = 0; 46mem_int memdebug_numblocks = 0;
47unsigned long memdebug_total = 0; 47mem_int memdebug_total = 0;
48unsigned long memdebug_maxmem = 0; 48mem_int memdebug_maxmem = 0;
49unsigned long memdebug_memlimit = LONG_MAX; 49mem_int memdebug_memlimit = LONG_MAX;
50 50
51 51
52static void *checkblock (void *block) { 52static void *checkblock (void *block) {
53 unsigned long *b = blocksize(block); 53 size_t *b = blocksize(block);
54 unsigned long size = *b; 54 size_t size = *b;
55 int i; 55 int i;
56 for (i=0;i<MARKSIZE;i++) 56 for (i=0;i<MARKSIZE;i++)
57 assert(*(((char *)b)+HEADER+size+i) == MARK+i); /* corrupted block? */ 57 assert(*(((char *)b)+HEADER+size+i) == MARK+i); /* corrupted block? */
@@ -93,7 +93,7 @@ static void *debug_realloc (void *block, size_t size) {
93 memdebug_total += size; 93 memdebug_total += size;
94 if (memdebug_total > memdebug_maxmem) memdebug_maxmem = memdebug_total; 94 if (memdebug_total > memdebug_maxmem) memdebug_maxmem = memdebug_total;
95 memdebug_numblocks++; 95 memdebug_numblocks++;
96 *(unsigned long *)newblock = size; 96 *(size_t *)newblock = size;
97 for (i=0;i<MARKSIZE;i++) 97 for (i=0;i<MARKSIZE;i++)
98 *(newblock+HEADER+size+i) = (char)(MARK+i); 98 *(newblock+HEADER+size+i) = (char)(MARK+i);
99 return newblock+HEADER; 99 return newblock+HEADER;
@@ -131,7 +131,7 @@ void *luaM_growaux (lua_State *L, void *block, size_t nelems,
131/* 131/*
132** generic allocation routine. 132** generic allocation routine.
133*/ 133*/
134void *luaM_realloc (lua_State *L, void *block, lint32 size) { 134void *luaM_realloc (lua_State *L, void *block, luint32 size) {
135 if (size == 0) { 135 if (size == 0) {
136 free(block); /* block may be NULL; that is OK for free */ 136 free(block); /* block may be NULL; that is OK for free */
137 return NULL; 137 return NULL;