lua

A copy of the Lua development repository
Log | Files | Refs | README

commit f874d37fa28037bf3d3300ef8c0740d13792404b
parent 35e01ed21d018e1c6428ae0351d8597e53a620b3
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Thu, 15 Dec 2022 14:17:36 -0300

Small change in barrier macros

Reuse macros for objects when defining the macros for values.

Diffstat:
Mlgc.h | 17+++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/lgc.h b/lgc.h @@ -172,18 +172,19 @@ #define luaC_checkGC(L) luaC_condGC(L,(void)0,(void)0) -#define luaC_barrier(L,p,v) ( \ - (iscollectable(v) && isblack(p) && iswhite(gcvalue(v))) ? \ - luaC_barrier_(L,obj2gco(p),gcvalue(v)) : cast_void(0)) - -#define luaC_barrierback(L,p,v) ( \ - (iscollectable(v) && isblack(p) && iswhite(gcvalue(v))) ? \ - luaC_barrierback_(L,p) : cast_void(0)) - #define luaC_objbarrier(L,p,o) ( \ (isblack(p) && iswhite(o)) ? \ luaC_barrier_(L,obj2gco(p),obj2gco(o)) : cast_void(0)) +#define luaC_barrier(L,p,v) ( \ + iscollectable(v) ? luaC_objbarrier(L,p,gcvalue(v)) : cast_void(0)) + +#define luaC_objbarrierback(L,p,o) ( \ + (isblack(p) && iswhite(o)) ? luaC_barrierback_(L,p) : cast_void(0)) + +#define luaC_barrierback(L,p,v) ( \ + iscollectable(v) ? luaC_objbarrierback(L, p, gcvalue(v)) : cast_void(0)) + LUAI_FUNC void luaC_fix (lua_State *L, GCObject *o); LUAI_FUNC void luaC_freeallobjects (lua_State *L); LUAI_FUNC void luaC_step (lua_State *L);