when doing hard memory tests, perform a full GC at every possible step

This commit is contained in:
Roberto Ierusalimschy 2009-11-17 09:56:03 -02:00
parent 95020afb63
commit b51d76ce8d
2 changed files with 9 additions and 3 deletions

4
lgc.h
View File

@ -1,5 +1,5 @@
/*
** $Id: lgc.h,v 2.20 2009/04/28 19:04:36 roberto Exp roberto $
** $Id: lgc.h,v 2.21 2009/06/08 19:35:59 roberto Exp roberto $
** Garbage Collector
** See Copyright Notice in lua.h
*/
@ -79,7 +79,7 @@
#define luaC_checkGC(L) \
{condmovestack(L); if (G(L)->totalbytes >= G(L)->GCthreshold) luaC_step(L);}
{condchangemem(L); if (G(L)->totalbytes >= G(L)->GCthreshold) luaC_step(L);}
#define luaC_barrier(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \

View File

@ -1,5 +1,5 @@
/*
** $Id: llimits.h,v 1.73 2009/07/15 17:26:14 roberto Exp roberto $
** $Id: llimits.h,v 1.74 2009/08/31 14:26:28 roberto Exp roberto $
** Limits, basic types, and some other `installation-dependent' definitions
** See Copyright Notice in lua.h
*/
@ -128,4 +128,10 @@ typedef lu_int32 Instruction;
#define condmovestack(L) luaD_reallocstack((L), (L)->stacksize)
#endif
#if !defined(HARDMEMTESTS)
#define condchangemem(L) condmovestack(L)
#else
#define condchangemem(L) luaC_fullgc(L, 0)
#endif
#endif