diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-07-22 15:35:16 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-07-22 15:35:16 +0900 |
| commit | 6d742ef93aaa2cb6fe682f05c7e04cfb9be11353 (patch) | |
| tree | 87f12b0e80d96436842a6dec3b09d83a6beea5f0 /src/gc.c | |
| parent | 4b691212846930ccc501e9050589a495901cc25c (diff) | |
| parent | 3c9660257464bb78a5b094e3f7fb1621bb9577ba (diff) | |
| download | mruby-6d742ef93aaa2cb6fe682f05c7e04cfb9be11353.tar.gz mruby-6d742ef93aaa2cb6fe682f05c7e04cfb9be11353.zip | |
Merge pull request #2482 from take-cheeze/exc_tt
Use MRB_TT_EXCEPTION in exception object.
Diffstat (limited to 'src/gc.c')
| -rw-r--r-- | src/gc.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -16,6 +16,7 @@ #include "mruby/string.h" #include "mruby/variable.h" #include "mruby/gc.h" +#include "mruby/error.h" /* = Tri-color Incremental Garbage Collection @@ -107,6 +108,7 @@ typedef struct { struct RRange range; struct RData data; struct RProc proc; + struct RException exc; #ifdef MRB_WORD_BOXING struct RFloat floatv; struct RCptr cptr; @@ -513,6 +515,7 @@ gc_mark_children(mrb_state *mrb, struct RBasic *obj) case MRB_TT_OBJECT: case MRB_TT_DATA: + case MRB_TT_EXCEPTION: mrb_gc_mark_iv(mrb, (struct RObject*)obj); break; @@ -612,6 +615,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj) #endif case MRB_TT_OBJECT: + case MRB_TT_EXCEPTION: mrb_gc_free_iv(mrb, (struct RObject*)obj); break; @@ -747,6 +751,7 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj) case MRB_TT_OBJECT: case MRB_TT_DATA: + case MRB_TT_EXCEPTION: children += mrb_gc_mark_iv_size(mrb, (struct RObject*)obj); break; |
