mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
rename hash related gc functions
This commit is contained in:
@@ -41,9 +41,9 @@ struct kh_ht * mrb_hash_tbl(mrb_state *mrb, mrb_value hash);
|
||||
#define MRB_RHASH_PROCDEFAULT_P(h) (RHASH(h)->flags & MRB_HASH_PROC_DEFAULT)
|
||||
|
||||
/* GC functions */
|
||||
void mrb_gc_mark_ht(mrb_state*, struct RHash*);
|
||||
size_t mrb_gc_mark_ht_size(mrb_state*, struct RHash*);
|
||||
void mrb_gc_free_ht(mrb_state*, struct RHash*);
|
||||
void mrb_gc_mark_hash(mrb_state*, struct RHash*);
|
||||
size_t mrb_gc_mark_hash_size(mrb_state*, struct RHash*);
|
||||
void mrb_gc_free_hash(mrb_state*, struct RHash*);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} /* extern "C" { */
|
||||
|
||||
@@ -450,7 +450,7 @@ gc_mark_children(mrb_state *mrb, struct RBasic *obj)
|
||||
|
||||
case MRB_TT_HASH:
|
||||
mrb_gc_mark_iv(mrb, (struct RObject*)obj);
|
||||
mrb_gc_mark_ht(mrb, (struct RHash*)obj);
|
||||
mrb_gc_mark_hash(mrb, (struct RHash*)obj);
|
||||
break;
|
||||
|
||||
case MRB_TT_STRING:
|
||||
@@ -525,7 +525,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
|
||||
|
||||
case MRB_TT_HASH:
|
||||
mrb_gc_free_iv(mrb, (struct RObject*)obj);
|
||||
mrb_gc_free_ht(mrb, (struct RHash*)obj);
|
||||
mrb_gc_free_hash(mrb, (struct RHash*)obj);
|
||||
break;
|
||||
|
||||
case MRB_TT_STRING:
|
||||
@@ -651,7 +651,7 @@ gc_gray_mark(mrb_state *mrb, struct RBasic *obj)
|
||||
|
||||
case MRB_TT_HASH:
|
||||
children += mrb_gc_mark_iv_size(mrb, (struct RObject*)obj);
|
||||
children += mrb_gc_mark_ht_size(mrb, (struct RHash*)obj);
|
||||
children += mrb_gc_mark_hash_size(mrb, (struct RHash*)obj);
|
||||
break;
|
||||
|
||||
case MRB_TT_PROC:
|
||||
|
||||
+3
-3
@@ -46,7 +46,7 @@ mrb_hash_ht_key(mrb_state *mrb, mrb_value key)
|
||||
#define KEY(key) mrb_hash_ht_key(mrb, key)
|
||||
|
||||
void
|
||||
mrb_gc_mark_ht(mrb_state *mrb, struct RHash *hash)
|
||||
mrb_gc_mark_hash(mrb_state *mrb, struct RHash *hash)
|
||||
{
|
||||
khiter_t k;
|
||||
khash_t(ht) *h = hash->ht;
|
||||
@@ -64,14 +64,14 @@ mrb_gc_mark_ht(mrb_state *mrb, struct RHash *hash)
|
||||
}
|
||||
|
||||
size_t
|
||||
mrb_gc_mark_ht_size(mrb_state *mrb, struct RHash *hash)
|
||||
mrb_gc_mark_hash_size(mrb_state *mrb, struct RHash *hash)
|
||||
{
|
||||
if (!hash->ht) return 0;
|
||||
return kh_size(hash->ht)*2;
|
||||
}
|
||||
|
||||
void
|
||||
mrb_gc_free_ht(mrb_state *mrb, struct RHash *hash)
|
||||
mrb_gc_free_hash(mrb_state *mrb, struct RHash *hash)
|
||||
{
|
||||
if (hash->ht) kh_destroy(ht, hash->ht);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user