aboutsummaryrefslogtreecommitdiff
path: root/lgc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lgc.c')
-rw-r--r--lgc.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/lgc.c b/lgc.c
index 6562c928..c5babfed 100644
--- a/lgc.c
+++ b/lgc.c
@@ -273,8 +273,7 @@ static void reallymarkobject (global_State *g, GCObject *o) {
273 gray2black(o); 273 gray2black(o);
274 break; 274 break;
275 } 275 }
276 case LUA_TUPVAL: 276 case LUA_TUPVAL: {
277 case LUA_TUPVALTBC: {
278 UpVal *uv = gco2upv(o); 277 UpVal *uv = gco2upv(o);
279 if (!upisopen(uv)) /* open upvalues are kept gray */ 278 if (!upisopen(uv)) /* open upvalues are kept gray */
280 gray2black(o); 279 gray2black(o);
@@ -571,7 +570,7 @@ static int traversethread (global_State *g, lua_State *th) {
571 for (; o < th->top; o++) /* mark live elements in the stack */ 570 for (; o < th->top; o++) /* mark live elements in the stack */
572 markvalue(g, s2v(o)); 571 markvalue(g, s2v(o));
573 for (uv = th->openupval; uv != NULL; uv = uv->u.open.next) { 572 for (uv = th->openupval; uv != NULL; uv = uv->u.open.next) {
574 if (uv->tt == LUA_TUPVALTBC) /* to be closed? */ 573 if (uv->tbc) /* to be closed? */
575 markobject(g, uv); /* cannot be collected */ 574 markobject(g, uv); /* cannot be collected */
576 } 575 }
577 if (g->gcstate == GCSatomic) { /* final traversal? */ 576 if (g->gcstate == GCSatomic) { /* final traversal? */
@@ -706,7 +705,6 @@ static void freeobj (lua_State *L, GCObject *o) {
706 luaF_freeproto(L, gco2p(o)); 705 luaF_freeproto(L, gco2p(o));
707 break; 706 break;
708 case LUA_TUPVAL: 707 case LUA_TUPVAL:
709 case LUA_TUPVALTBC:
710 freeupval(L, gco2upv(o)); 708 freeupval(L, gco2upv(o));
711 break; 709 break;
712 case LUA_TLCL: 710 case LUA_TLCL: