aboutsummaryrefslogtreecommitdiff
path: root/lgc.h
diff options
context:
space:
mode:
Diffstat (limited to 'lgc.h')
-rw-r--r--lgc.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/lgc.h b/lgc.h
index ae45c80d..fa007969 100644
--- a/lgc.h
+++ b/lgc.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lgc.h,v 2.40 2010/05/10 16:46:49 roberto Exp roberto $ 2** $Id: lgc.h,v 2.41 2010/05/10 18:23:45 roberto Exp roberto $
3** Garbage Collector 3** Garbage Collector
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -112,17 +112,20 @@
112 112
113 113
114#define luaC_barrier(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \ 114#define luaC_barrier(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \
115 luaC_barrierf(L,obj2gco(p),gcvalue(v)); } 115 luaC_barrier_(L,obj2gco(p),gcvalue(v)); }
116 116
117#define luaC_barriert(L,t,v) { if (valiswhite(v) && isblack(obj2gco(t))) \ 117#define luaC_barrierback(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \
118 luaC_barrierback(L,t); } 118 luaC_barrierback_(L,p); }
119 119
120#define luaC_objbarrier(L,p,o) \ 120#define luaC_objbarrier(L,p,o) \
121 { if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) \ 121 { if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) \
122 luaC_barrierf(L,obj2gco(p),obj2gco(o)); } 122 luaC_barrier_(L,obj2gco(p),obj2gco(o)); }
123 123
124#define luaC_objbarriert(L,t,o) \ 124#define luaC_objbarrierback(L,p,o) \
125 { if (iswhite(obj2gco(o)) && isblack(obj2gco(t))) luaC_barrierback(L,t); } 125 { if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) luaC_barrierback_(L,p); }
126
127#define luaC_barrierproto(L,p) \
128 { if (isblack(obj2gco(p))) luaC_barrierproto_(L,p); }
126 129
127LUAI_FUNC void luaC_separateudata (lua_State *L, int all); 130LUAI_FUNC void luaC_separateudata (lua_State *L, int all);
128LUAI_FUNC void luaC_freeallobjects (lua_State *L); 131LUAI_FUNC void luaC_freeallobjects (lua_State *L);
@@ -131,8 +134,9 @@ LUAI_FUNC void luaC_runtilstate (lua_State *L, int statesmask);
131LUAI_FUNC void luaC_fullgc (lua_State *L, int isemergency); 134LUAI_FUNC void luaC_fullgc (lua_State *L, int isemergency);
132LUAI_FUNC GCObject *luaC_newobj (lua_State *L, int tt, size_t sz, 135LUAI_FUNC GCObject *luaC_newobj (lua_State *L, int tt, size_t sz,
133 GCObject **list, int offset); 136 GCObject **list, int offset);
134LUAI_FUNC void luaC_barrierf (lua_State *L, GCObject *o, GCObject *v); 137LUAI_FUNC void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v);
135LUAI_FUNC void luaC_barrierback (lua_State *L, Table *t); 138LUAI_FUNC void luaC_barrierback_ (lua_State *L, GCObject *o);
139LUAI_FUNC void luaC_barrierproto_ (lua_State *L, GCObject *p);
136LUAI_FUNC void luaC_checkfinalizer (lua_State *L, Udata *u); 140LUAI_FUNC void luaC_checkfinalizer (lua_State *L, Udata *u);
137LUAI_FUNC void luaC_checkupvalcolor (global_State *g, UpVal *uv); 141LUAI_FUNC void luaC_checkupvalcolor (global_State *g, UpVal *uv);
138LUAI_FUNC void luaC_changemode (lua_State *L, int mode); 142LUAI_FUNC void luaC_changemode (lua_State *L, int mode);