diff options
| -rw-r--r-- | lgc.h | 17 |
1 files changed, 9 insertions, 8 deletions
| @@ -188,18 +188,19 @@ | |||
| 188 | #define luaC_checkGC(L) luaC_condGC(L,(void)0,(void)0) | 188 | #define luaC_checkGC(L) luaC_condGC(L,(void)0,(void)0) |
| 189 | 189 | ||
| 190 | 190 | ||
| 191 | #define luaC_barrier(L,p,v) ( \ | ||
| 192 | (iscollectable(v) && isblack(p) && iswhite(gcvalue(v))) ? \ | ||
| 193 | luaC_barrier_(L,obj2gco(p),gcvalue(v)) : cast_void(0)) | ||
| 194 | |||
| 195 | #define luaC_barrierback(L,p,v) ( \ | ||
| 196 | (iscollectable(v) && isblack(p) && iswhite(gcvalue(v))) ? \ | ||
| 197 | luaC_barrierback_(L,p) : cast_void(0)) | ||
| 198 | |||
| 199 | #define luaC_objbarrier(L,p,o) ( \ | 191 | #define luaC_objbarrier(L,p,o) ( \ |
| 200 | (isblack(p) && iswhite(o)) ? \ | 192 | (isblack(p) && iswhite(o)) ? \ |
| 201 | luaC_barrier_(L,obj2gco(p),obj2gco(o)) : cast_void(0)) | 193 | luaC_barrier_(L,obj2gco(p),obj2gco(o)) : cast_void(0)) |
| 202 | 194 | ||
| 195 | #define luaC_barrier(L,p,v) ( \ | ||
| 196 | iscollectable(v) ? luaC_objbarrier(L,p,gcvalue(v)) : cast_void(0)) | ||
| 197 | |||
| 198 | #define luaC_objbarrierback(L,p,o) ( \ | ||
| 199 | (isblack(p) && iswhite(o)) ? luaC_barrierback_(L,p) : cast_void(0)) | ||
| 200 | |||
| 201 | #define luaC_barrierback(L,p,v) ( \ | ||
| 202 | iscollectable(v) ? luaC_objbarrierback(L, p, gcvalue(v)) : cast_void(0)) | ||
| 203 | |||
| 203 | LUAI_FUNC void luaC_fix (lua_State *L, GCObject *o); | 204 | LUAI_FUNC void luaC_fix (lua_State *L, GCObject *o); |
| 204 | LUAI_FUNC void luaC_freeallobjects (lua_State *L); | 205 | LUAI_FUNC void luaC_freeallobjects (lua_State *L); |
| 205 | LUAI_FUNC void luaC_step (lua_State *L); | 206 | LUAI_FUNC void luaC_step (lua_State *L); |
