diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-09-19 19:02:14 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-09-19 19:02:14 -0300 |
| commit | ddfa1fbccfe4c1ec69f7396a4f5842abe70927ba (patch) | |
| tree | df467dc5dc5c64a21bb976ec661796d17d37f791 /lmem.c | |
| parent | b443145ff3415fcaee903a7d95fa7212df5a77db (diff) | |
| download | lua-ddfa1fbccfe4c1ec69f7396a4f5842abe70927ba.tar.gz lua-ddfa1fbccfe4c1ec69f7396a4f5842abe70927ba.tar.bz2 lua-ddfa1fbccfe4c1ec69f7396a4f5842abe70927ba.zip | |
GC back to controling pace counting bytes
Memory is the resource we want to save. Still to be reviewed again.
Diffstat (limited to 'lmem.c')
| -rw-r--r-- | lmem.c | 8 |
1 files changed, 4 insertions, 4 deletions
| @@ -151,7 +151,7 @@ void luaM_free_ (lua_State *L, void *block, size_t osize) { | |||
| 151 | global_State *g = G(L); | 151 | global_State *g = G(L); |
| 152 | lua_assert((osize == 0) == (block == NULL)); | 152 | lua_assert((osize == 0) == (block == NULL)); |
| 153 | callfrealloc(g, block, osize, 0); | 153 | callfrealloc(g, block, osize, 0); |
| 154 | g->GCtotalbytes -= osize; | 154 | g->GCdebt += cast(l_mem, osize); |
| 155 | } | 155 | } |
| 156 | 156 | ||
| 157 | 157 | ||
| @@ -181,10 +181,10 @@ void *luaM_realloc_ (lua_State *L, void *block, size_t osize, size_t nsize) { | |||
| 181 | if (l_unlikely(newblock == NULL && nsize > 0)) { | 181 | if (l_unlikely(newblock == NULL && nsize > 0)) { |
| 182 | newblock = tryagain(L, block, osize, nsize); | 182 | newblock = tryagain(L, block, osize, nsize); |
| 183 | if (newblock == NULL) /* still no memory? */ | 183 | if (newblock == NULL) /* still no memory? */ |
| 184 | return NULL; /* do not update 'GCtotalbytes' */ | 184 | return NULL; /* do not update 'GCdebt' */ |
| 185 | } | 185 | } |
| 186 | lua_assert((nsize == 0) == (newblock == NULL)); | 186 | lua_assert((nsize == 0) == (newblock == NULL)); |
| 187 | g->GCtotalbytes += nsize - osize; | 187 | g->GCdebt -= cast(l_mem, nsize) - cast(l_mem, osize); |
| 188 | return newblock; | 188 | return newblock; |
| 189 | } | 189 | } |
| 190 | 190 | ||
| @@ -209,7 +209,7 @@ void *luaM_malloc_ (lua_State *L, size_t size, int tag) { | |||
| 209 | if (newblock == NULL) | 209 | if (newblock == NULL) |
| 210 | luaM_error(L); | 210 | luaM_error(L); |
| 211 | } | 211 | } |
| 212 | g->GCtotalbytes += size; | 212 | g->GCdebt -= cast(l_mem, size); |
| 213 | return newblock; | 213 | return newblock; |
| 214 | } | 214 | } |
| 215 | } | 215 | } |
