summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2020-11-13 16:59:45 +0900
committerKOBAYASHI Shuji <[email protected]>2020-11-13 16:59:45 +0900
commit292a0961188127948f77065318a5b59780ea7560 (patch)
tree125d62abdbcfb46b4a5df8c2bf9ee626518f483e /src
parent75beb55c2af7172dd2b1b026ed3d3f7f58c93e2e (diff)
downloadmruby-292a0961188127948f77065318a5b59780ea7560.tar.gz
mruby-292a0961188127948f77065318a5b59780ea7560.zip
Include size of iv table in `ObjectSpace.memsize_of` to `Hash` object
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. */