diff options
| author | Masamitsu MURASE <[email protected]> | 2012-06-24 06:28:17 +0900 |
|---|---|---|
| committer | Masamitsu MURASE <[email protected]> | 2012-06-24 06:28:17 +0900 |
| commit | 7778b5ca1c82062e29eb41b22839a1d174dd82e1 (patch) | |
| tree | 612e4246c183e044eae1589b654819b9442e1fd8 /src | |
| parent | 7a17377c644d421fae71bd8d61e6f7dc744faf62 (diff) | |
| download | mruby-7778b5ca1c82062e29eb41b22839a1d174dd82e1.tar.gz mruby-7778b5ca1c82062e29eb41b22839a1d174dd82e1.zip | |
Implement garbage collection for struct.
Diffstat (limited to 'src')
| -rw-r--r-- | src/gc.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -430,6 +430,18 @@ gc_mark_children(mrb_state *mrb, struct RBasic *obj) break; #endif +#ifdef ENABLE_STRUCT + case MRB_TT_STRUCT: + { + struct RStruct *s = (struct RStruct*)obj; + long i; + for (i=0; i<s->len; i++){ + mrb_gc_mark_value(mrb, s->ptr[i]); + } + } + break; +#endif + default: break; } |
