diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-06-25 17:30:28 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-06-25 17:30:28 +0900 |
| commit | 8dc533ed5f5f4e63ef4b8391bfbe0dbb3b34052f (patch) | |
| tree | f3995b70acb9f3946a61d47f830235b082c6b59a /src/gc.c | |
| parent | 19638ded7367520333caf1b070b221ea18e4c352 (diff) | |
| parent | 52b6d1c001bf9efb73aa6d58520e1444dbf4812d (diff) | |
| download | mruby-8dc533ed5f5f4e63ef4b8391bfbe0dbb3b34052f.tar.gz mruby-8dc533ed5f5f4e63ef4b8391bfbe0dbb3b34052f.zip | |
Merge branch 'master' of github.com:mruby/mruby
Diffstat (limited to 'src/gc.c')
| -rw-r--r-- | src/gc.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -514,6 +514,12 @@ obj_free(mrb_state *mrb, struct RBasic *obj) mrb_free(mrb, ((struct RRange*)obj)->edges); break; +#ifdef ENABLE_STRUCT + case MRB_TT_STRUCT: + mrb_free(mrb, ((struct RStruct*)obj)->ptr); + break; +#endif + case MRB_TT_DATA: { struct RData *d = (struct RData*)obj; @@ -632,6 +638,15 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj) break; #endif +#ifdef ENABLE_STRUCT + case MRB_TT_STRUCT: + { + struct RStruct *s = (struct RStruct*)obj; + children += s->len; + } + break; +#endif + default: break; } |
