aboutsummaryrefslogtreecommitdiff
path: root/src/lj_gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_gc.c')
-rw-r--r--src/lj_gc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lj_gc.c b/src/lj_gc.c
index 1f382ea0..646a27b2 100644
--- a/src/lj_gc.c
+++ b/src/lj_gc.c
@@ -67,9 +67,10 @@ static void gc_mark(global_State *g, GCobj *o)
67 gc_markobj(g, tabref(gco2ud(o)->env)); 67 gc_markobj(g, tabref(gco2ud(o)->env));
68 if (LJ_HASBUFFER && gco2ud(o)->udtype == UDTYPE_BUFFER) { 68 if (LJ_HASBUFFER && gco2ud(o)->udtype == UDTYPE_BUFFER) {
69 SBufExt *sbx = (SBufExt *)uddata(gco2ud(o)); 69 SBufExt *sbx = (SBufExt *)uddata(gco2ud(o));
70 if (sbufiscow(sbx) && gcref(sbx->cowref) != NULL) { 70 if (sbufiscow(sbx) && gcref(sbx->cowref))
71 gc_markobj(g, gcref(sbx->cowref)); 71 gc_markobj(g, gcref(sbx->cowref));
72 } 72 if (gcref(sbx->dict))
73 gc_markobj(g, gcref(sbx->dict));
73 } 74 }
74 } else if (LJ_UNLIKELY(gct == ~LJ_TUPVAL)) { 75 } else if (LJ_UNLIKELY(gct == ~LJ_TUPVAL)) {
75 GCupval *uv = gco2uv(o); 76 GCupval *uv = gco2uv(o);