summaryrefslogtreecommitdiff
path: root/src/lj_gc.c
diff options
context:
space:
mode:
authorMike Pall <mike>2021-06-01 05:16:32 +0200
committerMike Pall <mike>2021-06-01 05:16:32 +0200
commita119497becdf2894fb7fa737f106464309dd7947 (patch)
tree95c7f88198ba3f12eff52fd5646207ffb31da2d5 /src/lj_gc.c
parentedd5cbadc5cdc7b5b66d5340ee97c5abe5a3892a (diff)
downloadluajit-a119497becdf2894fb7fa737f106464309dd7947.tar.gz
luajit-a119497becdf2894fb7fa737f106464309dd7947.tar.bz2
luajit-a119497becdf2894fb7fa737f106464309dd7947.zip
String buffers, part 2d: basic string buffer methods.
Sponsored by fmad.io.
Diffstat (limited to 'src/lj_gc.c')
-rw-r--r--src/lj_gc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lj_gc.c b/src/lj_gc.c
index cfbce037..1f382ea0 100644
--- a/src/lj_gc.c
+++ b/src/lj_gc.c
@@ -65,6 +65,12 @@ static void gc_mark(global_State *g, GCobj *o)
65 gray2black(o); /* Userdata are never gray. */ 65 gray2black(o); /* Userdata are never gray. */
66 if (mt) gc_markobj(g, mt); 66 if (mt) gc_markobj(g, mt);
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) {
69 SBufExt *sbx = (SBufExt *)uddata(gco2ud(o));
70 if (sbufiscow(sbx) && gcref(sbx->cowref) != NULL) {
71 gc_markobj(g, gcref(sbx->cowref));
72 }
73 }
68 } else if (LJ_UNLIKELY(gct == ~LJ_TUPVAL)) { 74 } else if (LJ_UNLIKELY(gct == ~LJ_TUPVAL)) {
69 GCupval *uv = gco2uv(o); 75 GCupval *uv = gco2uv(o);
70 gc_marktv(g, uvval(uv)); 76 gc_marktv(g, uvval(uv));