mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
hash.c (mrb_gc_mark_hash_size): unify with mrb_gc_mark_hash
This commit is contained in:
@@ -80,8 +80,7 @@ void mrb_gc_free_mt(mrb_state*, struct RClass*);
|
||||
|
||||
/* hash */
|
||||
size_t mrb_hash_memsize(mrb_value obj);
|
||||
void mrb_gc_mark_hash(mrb_state*, struct RHash*);
|
||||
size_t mrb_gc_mark_hash_size(mrb_state*, struct RHash*);
|
||||
size_t mrb_gc_mark_hash(mrb_state*, struct RHash*);
|
||||
void mrb_gc_free_hash(mrb_state*, struct RHash*);
|
||||
|
||||
/* irep */
|
||||
|
||||
@@ -675,8 +675,7 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
|
||||
|
||||
case MRB_TT_HASH:
|
||||
children += mrb_gc_mark_iv(mrb, (struct RObject*)obj);
|
||||
mrb_gc_mark_hash(mrb, (struct RHash*)obj);
|
||||
children += mrb_gc_mark_hash_size(mrb, (struct RHash*)obj);
|
||||
children += mrb_gc_mark_hash(mrb, (struct RHash*)obj);
|
||||
break;
|
||||
|
||||
case MRB_TT_STRING:
|
||||
|
||||
+1
-6
@@ -1072,18 +1072,13 @@ h_replace(mrb_state *mrb, struct RHash *h, struct RHash *orig_h)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
size_t
|
||||
mrb_gc_mark_hash(mrb_state *mrb, struct RHash *h)
|
||||
{
|
||||
h_each(h, entry, {
|
||||
mrb_gc_mark_value(mrb, entry->key);
|
||||
mrb_gc_mark_value(mrb, entry->val);
|
||||
});
|
||||
}
|
||||
|
||||
size_t
|
||||
mrb_gc_mark_hash_size(mrb_state *mrb, struct RHash *h)
|
||||
{
|
||||
return h_size(h) * 2;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user