diff options
Diffstat (limited to 'src/lj_gc.c')
-rw-r--r-- | src/lj_gc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_gc.c b/src/lj_gc.c index 53f1d974..7c707462 100644 --- a/src/lj_gc.c +++ b/src/lj_gc.c | |||
@@ -238,6 +238,8 @@ static void gc_traverse_trace(global_State *g, GCtrace *T) | |||
238 | IRIns *ir = &T->ir[ref]; | 238 | IRIns *ir = &T->ir[ref]; |
239 | if (ir->o == IR_KGC) | 239 | if (ir->o == IR_KGC) |
240 | gc_markobj(g, ir_kgc(ir)); | 240 | gc_markobj(g, ir_kgc(ir)); |
241 | if (irt_is64(ir->t) && ir->o != IR_KNULL) | ||
242 | ref++; | ||
241 | } | 243 | } |
242 | if (T->link) gc_marktrace(g, T->link); | 244 | if (T->link) gc_marktrace(g, T->link); |
243 | if (T->nextroot) gc_marktrace(g, T->nextroot); | 245 | if (T->nextroot) gc_marktrace(g, T->nextroot); |