Commit bf747efd authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #317 from masamitsu-murase/fix_struct_new_gc

Fix GC of struct
parents ccde2d3b e53eea76
...@@ -514,6 +514,12 @@ obj_free(mrb_state *mrb, struct RBasic *obj) ...@@ -514,6 +514,12 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
mrb_free(mrb, ((struct RRange*)obj)->edges); mrb_free(mrb, ((struct RRange*)obj)->edges);
break; break;
#ifdef ENABLE_STRUCT
case MRB_TT_STRUCT:
mrb_free(mrb, ((struct RStruct*)obj)->ptr);
break;
#endif
case MRB_TT_DATA: case MRB_TT_DATA:
{ {
struct RData *d = (struct RData*)obj; struct RData *d = (struct RData*)obj;
...@@ -632,6 +638,15 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj) ...@@ -632,6 +638,15 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj)
break; break;
#endif #endif
#ifdef ENABLE_STRUCT
case MRB_TT_STRUCT:
{
struct RStruct *s = (struct RStruct*)obj;
children += s->len;
}
break;
#endif
default: default:
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment