diff options
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 | } |