From a40768e5ea2732d1630e589eee82c4328370aa64 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 17 Dec 2010 10:02:29 -0200 Subject: new macro 'luaC_condGC' to allow extra code to be run in case of GC steps --- lgc.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lgc.h b/lgc.h index ea6ca338..49ca6bf5 100644 --- a/lgc.h +++ b/lgc.h @@ -1,5 +1,5 @@ /* -** $Id: lgc.h,v 2.45 2010/11/26 14:32:31 roberto Exp roberto $ +** $Id: lgc.h,v 2.46 2010/12/02 19:51:15 roberto Exp roberto $ ** Garbage Collector ** See Copyright Notice in lua.h */ @@ -108,7 +108,9 @@ #define luaC_white(g) cast(lu_byte, (g)->currentwhite & WHITEBITS) -#define luaC_checkGC(L) {condchangemem(L); if (G(L)->GCdebt > 0) luaC_step(L);} +#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_barrier(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \ -- cgit v1.2.3-55-g6feb