diff options
author | Mike Pall <mike> | 2010-11-26 17:27:02 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-11-26 17:27:02 +0100 |
commit | 35890f66c17562759d397e65ab3f15bcec7819ad (patch) | |
tree | 83fbeb763b0f5460cca1358e539fdd5c89030a4c /src | |
parent | ef8c264873ee6f88651699ebbbd15bc1c5065ef2 (diff) | |
download | luajit-35890f66c17562759d397e65ab3f15bcec7819ad.tar.gz luajit-35890f66c17562759d397e65ab3f15bcec7819ad.tar.bz2 luajit-35890f66c17562759d397e65ab3f15bcec7819ad.zip |
FFI: Don't propagate cdata objects.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_gc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_gc.c b/src/lj_gc.c index 6d47722b..c9c5e131 100644 --- a/src/lj_gc.c +++ b/src/lj_gc.c | |||
@@ -65,7 +65,7 @@ static void gc_mark(global_State *g, GCobj *o) | |||
65 | gc_marktv(g, uvval(uv)); | 65 | gc_marktv(g, uvval(uv)); |
66 | if (uv->closed) | 66 | if (uv->closed) |
67 | gray2black(o); /* Closed upvalues are never gray. */ | 67 | gray2black(o); /* Closed upvalues are never gray. */ |
68 | } else if (o->gch.gct != ~LJ_TSTR) { | 68 | } else if (o->gch.gct != ~LJ_TSTR && o->gch.gct != ~LJ_TCDATA) { |
69 | lua_assert(o->gch.gct == ~LJ_TFUNC || o->gch.gct == ~LJ_TTAB || | 69 | lua_assert(o->gch.gct == ~LJ_TFUNC || o->gch.gct == ~LJ_TTAB || |
70 | o->gch.gct == ~LJ_TTHREAD || o->gch.gct == ~LJ_TPROTO); | 70 | o->gch.gct == ~LJ_TTHREAD || o->gch.gct == ~LJ_TPROTO); |
71 | setgcrefr(o->gch.gclist, g->gc.gray); | 71 | setgcrefr(o->gch.gclist, g->gc.gray); |