summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMasamitsu MURASE <[email protected]>2012-06-26 01:20:05 +0900
committerMasamitsu MURASE <[email protected]>2012-07-01 01:52:37 +0900
commit780f54e1eb0ef48ccda95f5275e73aae035cc337 (patch)
treecd76c6d5b36d89a306cea4384ddf9d33b58fb7ee
parent4bfd992284ee05148aaddfe98d69630353272288 (diff)
downloadmruby-780f54e1eb0ef48ccda95f5275e73aae035cc337.tar.gz
mruby-780f54e1eb0ef48ccda95f5275e73aae035cc337.zip
Free iv of MRB_TT_DATA instance.
-rw-r--r--src/gc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index 22175a958..2663e9780 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -528,6 +528,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
if (d->type->dfree) {
d->type->dfree(mrb, d->data);
}
+ mrb_gc_free_iv(mrb, (struct RObject*)obj);
}
break;
@@ -607,6 +608,7 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj)
break;
case MRB_TT_OBJECT:
+ case MRB_TT_DATA:
children += mrb_gc_mark_iv_size(mrb, (struct RObject*)obj);
break;