diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-10-25 17:13:33 -0200 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-10-25 17:13:33 -0200 |
| commit | fffb6f3814084cddd8a58e81ae1b73ed78ea0953 (patch) | |
| tree | d96a3d1d70b651d6ca8fa5ebca0da4b66baf1d2c /lmem.c | |
| parent | 0b551a24f81153f58bee3c528515e54378c0831a (diff) | |
| download | lua-fffb6f3814084cddd8a58e81ae1b73ed78ea0953.tar.gz lua-fffb6f3814084cddd8a58e81ae1b73ed78ea0953.tar.bz2 lua-fffb6f3814084cddd8a58e81ae1b73ed78ea0953.zip | |
no more MINPOWER2
Diffstat (limited to 'lmem.c')
| -rw-r--r-- | lmem.c | 13 |
1 files changed, 8 insertions, 5 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lmem.c,v 1.49 2001/03/26 14:31:49 roberto Exp $ | 2 | ** $Id: lmem.c,v 1.50 2001/08/31 19:46:07 roberto Exp $ |
| 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 | */ |
| @@ -23,15 +23,18 @@ | |||
| 23 | #endif | 23 | #endif |
| 24 | 24 | ||
| 25 | 25 | ||
| 26 | #define MINSIZEARRAY 4 | ||
| 27 | |||
| 28 | |||
| 26 | void *luaM_growaux (lua_State *L, void *block, int *size, int size_elems, | 29 | void *luaM_growaux (lua_State *L, void *block, int *size, int size_elems, |
| 27 | int limit, const l_char *errormsg) { | 30 | int limit, const l_char *errormsg) { |
| 28 | void *newblock; | 31 | void *newblock; |
| 29 | int newsize = (*size)*2; | 32 | int newsize = (*size)*2; |
| 30 | if (newsize < MINPOWER2) | 33 | if (newsize < MINSIZEARRAY) |
| 31 | newsize = MINPOWER2; /* minimum size */ | 34 | newsize = MINSIZEARRAY; /* minimum size */ |
| 32 | else if (*size >= limit/2) { /* cannot double it? */ | 35 | else if (*size >= limit/2) { /* cannot double it? */ |
| 33 | if (*size < limit - MINPOWER2) /* try something smaller... */ | 36 | if (*size < limit - MINSIZEARRAY) /* try something smaller... */ |
| 34 | newsize = limit; /* still have at least MINPOWER2 free places */ | 37 | newsize = limit; /* still have at least MINSIZEARRAY free places */ |
| 35 | else luaD_error(L, errormsg); | 38 | else luaD_error(L, errormsg); |
| 36 | } | 39 | } |
| 37 | newblock = luaM_realloc(L, block, | 40 | newblock = luaM_realloc(L, block, |
