Procházet zdrojové kódy

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

Roberto Ierusalimschy před 15 roky
rodič
revize
b51d76ce8d
2 změnil soubory, kde provedl 9 přidání a 3 odebrání
  1. 2 2
      lgc.h
  2. 7 1
      llimits.h

+ 2 - 2
lgc.h

@@ -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)))  \

+ 7 - 1
llimits.h

@@ -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