summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hash.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/hash.c b/src/hash.c
index 5b5fc65b6..b049111b6 100644
--- a/src/hash.c
+++ b/src/hash.c
@@ -1034,10 +1034,11 @@ size_t
mrb_hash_memsize(mrb_value self)
{
struct RHash *h = mrb_hash_ptr(self);
- return h_ar_p(h) ? (ar_ea_capa(h) * sizeof(hash_entry)) :
- (ht_ea_capa(h) * sizeof(hash_entry) +
- sizeof(hash_table) +
- ib_byte_size_for(ib_bit(h)));
+ return mrb_obj_iv_tbl_memsize(self) +
+ (h_ar_p(h) ? (ar_ea_capa(h) * sizeof(hash_entry)) :
+ (ht_ea_capa(h) * sizeof(hash_entry) +
+ sizeof(hash_table) +
+ ib_byte_size_for(ib_bit(h))));
}
/* Iterates over the key/value pairs. */