From 3c9660257464bb78a5b094e3f7fb1621bb9577ba Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Mon, 21 Jul 2014 23:09:13 +0900 Subject: Use MRB_TT_EXCEPTION in exception object. --- src/gc.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gc.c') diff --git a/src/gc.c b/src/gc.c index 8e982de6d..e9b4668df 100644 --- a/src/gc.c +++ b/src/gc.c @@ -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; -- cgit v1.2.3