diff options
Diffstat (limited to 'lgc.c')
| -rw-r--r-- | lgc.c | 4 |
1 files changed, 3 insertions, 1 deletions
| @@ -293,7 +293,8 @@ static void reallymarkobject (global_State *g, GCObject *o) { | |||
| 293 | gray2black(o); | 293 | gray2black(o); |
| 294 | break; | 294 | break; |
| 295 | } | 295 | } |
| 296 | case LUA_TUPVAL: { | 296 | case LUA_TUPVAL: |
| 297 | case LUA_TUPVALTBC: { | ||
| 297 | UpVal *uv = gco2upv(o); | 298 | UpVal *uv = gco2upv(o); |
| 298 | if (!upisopen(uv)) /* open upvalues are kept gray */ | 299 | if (!upisopen(uv)) /* open upvalues are kept gray */ |
| 299 | gray2black(o); | 300 | gray2black(o); |
| @@ -760,6 +761,7 @@ static void freeobj (lua_State *L, GCObject *o) { | |||
| 760 | luaF_freeproto(L, gco2p(o)); | 761 | luaF_freeproto(L, gco2p(o)); |
| 761 | break; | 762 | break; |
| 762 | case LUA_TUPVAL: | 763 | case LUA_TUPVAL: |
| 764 | case LUA_TUPVALTBC: | ||
| 763 | freeupval(L, gco2upv(o)); | 765 | freeupval(L, gco2upv(o)); |
| 764 | break; | 766 | break; |
| 765 | case LUA_TLCL: | 767 | case LUA_TLCL: |
