diff options
| author | KOBAYASHI Shuji <[email protected]> | 2020-11-13 16:59:45 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2020-11-13 16:59:45 +0900 |
| commit | 292a0961188127948f77065318a5b59780ea7560 (patch) | |
| tree | 125d62abdbcfb46b4a5df8c2bf9ee626518f483e /src | |
| parent | 75beb55c2af7172dd2b1b026ed3d3f7f58c93e2e (diff) | |
| download | mruby-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.c | 9 |
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. */ |
