diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-11-24 15:39:56 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-11-24 15:39:56 -0200 |
commit | 96253ed8ceb38afa50887ccb5500442b5b220f08 (patch) | |
tree | 4b42b80f781b0cbe95782f8e8ebec06d85e80ae4 /lmem.c | |
parent | 35d6b1505702b0f4a2eee0e6d2f8dfc50943a1a7 (diff) | |
download | lua-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.c | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -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 | ||
46 | unsigned long memdebug_numblocks = 0; | 46 | mem_int memdebug_numblocks = 0; |
47 | unsigned long memdebug_total = 0; | 47 | mem_int memdebug_total = 0; |
48 | unsigned long memdebug_maxmem = 0; | 48 | mem_int memdebug_maxmem = 0; |
49 | unsigned long memdebug_memlimit = LONG_MAX; | 49 | mem_int memdebug_memlimit = LONG_MAX; |
50 | 50 | ||
51 | 51 | ||
52 | static void *checkblock (void *block) { | 52 | static 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 | */ |
134 | void *luaM_realloc (lua_State *L, void *block, lint32 size) { | 134 | void *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; |