new parameter 'majorinc' to control frequency of major collections

in generational mode
This commit is contained in:
Roberto Ierusalimschy
2010-09-03 11:14:01 -03:00
parent daa5fe3e31
commit 6828f6d427
6 changed files with 25 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: lstate.c,v 2.84 2010/04/30 14:22:23 roberto Exp roberto $
** $Id: lstate.c,v 2.85 2010/04/30 18:36:22 roberto Exp roberto $
** Global State
** See Copyright Notice in lua.h
*/
@@ -29,6 +29,10 @@
#define LUAI_GCPAUSE 200 /* 200% */
#endif
#if !defined(LUAI_GCMAJOR)
#define LUAI_GCMAJOR 200 /* 200% */
#endif
#if !defined(LUAI_GCMUL)
#define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */
#endif
@@ -254,6 +258,7 @@ LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) {
g->weak = g->ephemeron = g->allweak = NULL;
g->totalbytes = sizeof(LG);
g->gcpause = LUAI_GCPAUSE;
g->gcmajorinc = LUAI_GCMAJOR;
g->gcstepmul = LUAI_GCMUL;
for (i=0; i < LUA_NUMTAGS; i++) g->mt[i] = NULL;
if (luaD_rawrunprotected(L, f_luaopen, NULL) != LUA_OK) {