variable.c (mrb_gc_mark_iv_size): unify the function with mrb_gc_mark_iv

This commit is contained in:
Yukihiro "Matz" Matsumoto
2024-03-14 11:49:47 +09:00
parent e8525df576
commit 63900814b9
3 changed files with 5 additions and 13 deletions
+1 -2
View File
@@ -186,8 +186,7 @@ mrb_bool mrb_ident_p(const char *s, mrb_int len);
/* GC functions */
void mrb_gc_mark_gv(mrb_state*);
void mrb_gc_free_gv(mrb_state*);
void mrb_gc_mark_iv(mrb_state*, struct RObject*);
size_t mrb_gc_mark_iv_size(mrb_state*, struct RObject*);
size_t mrb_gc_mark_iv(mrb_state*, struct RObject*);
void mrb_gc_free_iv(mrb_state*, struct RObject*);
/* VM */
+3 -5
View File
@@ -610,8 +610,7 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
case MRB_TT_OBJECT:
case MRB_TT_CDATA:
mrb_gc_mark_iv(mrb, (struct RObject*)obj);
children += mrb_gc_mark_iv_size(mrb, (struct RObject*)obj);
children += mrb_gc_mark_iv(mrb, (struct RObject*)obj);
break;
case MRB_TT_PROC:
@@ -675,9 +674,8 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
break;
case MRB_TT_HASH:
mrb_gc_mark_iv(mrb, (struct RObject*)obj);
children += mrb_gc_mark_iv(mrb, (struct RObject*)obj);
mrb_gc_mark_hash(mrb, (struct RHash*)obj);
children += mrb_gc_mark_iv_size(mrb, (struct RObject*)obj);
children += mrb_gc_mark_hash_size(mrb, (struct RHash*)obj);
break;
@@ -702,7 +700,7 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
break;
case MRB_TT_EXCEPTION:
mrb_gc_mark_iv(mrb, (struct RObject*)obj);
children += mrb_gc_mark_iv(mrb, (struct RObject*)obj);
if (((struct RException*)obj)->mesg) {
mrb_gc_mark(mrb, (struct RBasic*)((struct RException*)obj)->mesg);
children++;
+1 -6
View File
@@ -255,15 +255,10 @@ mrb_gc_free_gv(mrb_state *mrb)
iv_free(mrb, mrb->globals);
}
void
size_t
mrb_gc_mark_iv(mrb_state *mrb, struct RObject *obj)
{
mark_tbl(mrb, obj->iv);
}
size_t
mrb_gc_mark_iv_size(mrb_state *mrb, struct RObject *obj)
{
return iv_size(mrb, obj->iv);
}