summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/gc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index 29dc1d55f..9c82f858c 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -561,7 +561,10 @@ root_scan_phase(mrb_state *mrb)
for (i=0,e=mrb->arena_idx; i<e; i++) {
mrb_gc_mark(mrb, mrb->arena[i]);
}
+ /* mark class hierarchy */
mrb_gc_mark(mrb, (struct RBasic*)mrb->object_class);
+ /* mark exception */
+ mrb_gc_mark(mrb, (struct RBasic*)mrb->exc);
/* mark stack */
e = mrb->stack - mrb->stbase;
if (mrb->ci) e += mrb->ci->nregs;