diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-08-30 10:44:44 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-08-30 10:44:44 -0300 |
commit | 0b062414831e3794fcdb747e53e9662d112473cf (patch) | |
tree | 002d75be5a52689a232e44787b2964d8c8e29b9c /lapi.c | |
parent | 857253cdfcddf4f49c7cec15791f948d1d7612bb (diff) | |
download | lua-0b062414831e3794fcdb747e53e9662d112473cf.tar.gz lua-0b062414831e3794fcdb747e53e9662d112473cf.tar.bz2 lua-0b062414831e3794fcdb747e53e9662d112473cf.zip |
better control for GC cycles
Diffstat (limited to 'lapi.c')
-rw-r--r-- | lapi.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lapi.c,v 2.16 2004/08/12 17:02:51 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 2.17 2004/08/17 17:45:45 roberto Exp roberto $ |
3 | ** Lua API | 3 | ** Lua API |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -831,7 +831,7 @@ LUA_API int lua_gc (lua_State *L, int what, int data) { | |||
831 | break; | 831 | break; |
832 | } | 832 | } |
833 | case LUA_GCRESTART: { | 833 | case LUA_GCRESTART: { |
834 | g->GCthreshold = g->nblocks; | 834 | g->GCthreshold = g->totalbytes; |
835 | break; | 835 | break; |
836 | } | 836 | } |
837 | case LUA_GCCOLLECT: { | 837 | case LUA_GCCOLLECT: { |
@@ -840,13 +840,13 @@ LUA_API int lua_gc (lua_State *L, int what, int data) { | |||
840 | } | 840 | } |
841 | case LUA_GCCOUNT: { | 841 | case LUA_GCCOUNT: { |
842 | /* GC values are expressed in Kbytes: #bytes/2^10 */ | 842 | /* GC values are expressed in Kbytes: #bytes/2^10 */ |
843 | res = cast(int, g->nblocks >> 10); | 843 | res = cast(int, g->totalbytes >> 10); |
844 | break; | 844 | break; |
845 | } | 845 | } |
846 | case LUA_GCSTEP: { | 846 | case LUA_GCSTEP: { |
847 | lu_mem a = (cast(lu_mem, data) << 10); | 847 | lu_mem a = (cast(lu_mem, data) << 10); |
848 | if (a <= g->nblocks) | 848 | if (a <= g->totalbytes) |
849 | g->GCthreshold = g->nblocks - a; | 849 | g->GCthreshold = g->totalbytes - a; |
850 | else | 850 | else |
851 | g->GCthreshold = 0; | 851 | g->GCthreshold = 0; |
852 | luaC_step(L); | 852 | luaC_step(L); |