commit f7670781cf67a4bfb0799d1800a87b2c4a19ad59
parent df8b996bccd3830d6fe9d7ba80e8fccd6ac3cabf
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Tue, 20 Oct 2015 15:55:55 -0200
cleaner definition for 'luaC_condGC', using 'pre'/'pos' parameters
Diffstat:
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/lgc.h b/lgc.h
@@ -1,5 +1,5 @@
/*
-** $Id: lgc.h,v 2.86 2014/10/25 11:50:46 roberto Exp roberto $
+** $Id: lgc.h,v 2.87 2015/08/03 19:40:42 roberto Exp roberto $
** Garbage Collector
** See Copyright Notice in lua.h
*/
@@ -101,9 +101,10 @@
#define luaC_white(g) cast(lu_byte, (g)->currentwhite & WHITEBITS)
-#define luaC_condGC(L,c) \
- {if (G(L)->GCdebt > 0) {c;}; condchangemem(L);}
-#define luaC_checkGC(L) luaC_condGC(L, luaC_step(L);)
+#define luaC_condGC(L,pre,pos) \
+ {if (G(L)->GCdebt > 0) { pre; luaC_step(L); pos;}; condchangemem(L);}
+
+#define luaC_checkGC(L) luaC_condGC(L,,)
#define luaC_barrier(L,p,v) ( \
diff --git a/lvm.c b/lvm.c
@@ -1,5 +1,5 @@
/*
-** $Id: lvm.c,v 2.253 2015/09/17 15:51:05 roberto Exp roberto $
+** $Id: lvm.c,v 2.254 2015/10/20 17:41:35 roberto Exp roberto $
** Lua virtual machine
** See Copyright Notice in lua.h
*/
@@ -733,10 +733,9 @@ void luaV_finishOp (lua_State *L) {
#define Protect(x) { {x;}; base = ci->u.l.base; }
#define checkGC(L,c) \
- Protect( luaC_condGC(L,{L->top = (c); /* limit of live values */ \
- luaC_step(L); \
- L->top = ci->top;}) /* restore top */ \
- luai_threadyield(L); )
+ { luaC_condGC(L, L->top = (c), /* limit of live values */ \
+ Protect(L->top = ci->top)); /* restore top */ \
+ luai_threadyield(L); }
#define vmdispatch(o) switch(o)