diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-05-26 16:14:29 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-05-26 16:14:29 -0300 |
| commit | 72d82a296c1430a1d2bb3fac8ed8cbfb97868707 (patch) | |
| tree | 4ea80148c5f1bfd38f0e7ca1cb8ef82e00e7e19c /lstate.c | |
| parent | 4804bbd9bbfb89deb8a6c7dc2bc65601a701222b (diff) | |
| download | lua-72d82a296c1430a1d2bb3fac8ed8cbfb97868707.tar.gz lua-72d82a296c1430a1d2bb3fac8ed8cbfb97868707.tar.bz2 lua-72d82a296c1430a1d2bb3fac8ed8cbfb97868707.zip | |
revamping the incremental collector
Some simplifications (not counting bytes, couting only slots visited;
no more 'gcfinnum'); more GC parameters; using vararg in 'lua_gc' to
set parameters in different GC modes
Diffstat (limited to 'lstate.c')
| -rw-r--r-- | lstate.c | 12 |
1 files changed, 2 insertions, 10 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lstate.c,v 2.138 2017/04/24 16:59:26 roberto Exp roberto $ | 2 | ** $Id: lstate.c,v 2.139 2017/05/04 13:32:01 roberto Exp roberto $ |
| 3 | ** Global State | 3 | ** Global State |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -28,14 +28,6 @@ | |||
| 28 | #include "ltm.h" | 28 | #include "ltm.h" |
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | #if !defined(LUAI_GCPAUSE) | ||
| 32 | #define LUAI_GCPAUSE 200 /* 200% */ | ||
| 33 | #endif | ||
| 34 | |||
| 35 | #if !defined(LUAI_GCMUL) | ||
| 36 | #define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */ | ||
| 37 | #endif | ||
| 38 | |||
| 39 | 31 | ||
| 40 | /* | 32 | /* |
| 41 | ** a macro to help the creation of a unique random seed when a state is | 33 | ** a macro to help the creation of a unique random seed when a state is |
| @@ -328,9 +320,9 @@ LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) { | |||
| 328 | g->twups = NULL; | 320 | g->twups = NULL; |
| 329 | g->totalbytes = sizeof(LG); | 321 | g->totalbytes = sizeof(LG); |
| 330 | g->GCdebt = 0; | 322 | g->GCdebt = 0; |
| 331 | g->gcfinnum = 0; | ||
| 332 | g->gcpause = LUAI_GCPAUSE; | 323 | g->gcpause = LUAI_GCPAUSE; |
| 333 | g->gcstepmul = LUAI_GCMUL; | 324 | g->gcstepmul = LUAI_GCMUL; |
| 325 | g->gcstepsize = LUAI_GCSTEPSIZE; | ||
| 334 | for (i=0; i < LUA_NUMTAGS; i++) g->mt[i] = NULL; | 326 | for (i=0; i < LUA_NUMTAGS; i++) g->mt[i] = NULL; |
| 335 | if (luaD_rawrunprotected(L, f_luaopen, NULL) != LUA_OK) { | 327 | if (luaD_rawrunprotected(L, f_luaopen, NULL) != LUA_OK) { |
| 336 | /* memory allocation error: free partial state */ | 328 | /* memory allocation error: free partial state */ |
