summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-29 16:29:44 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-29 16:29:44 +0000
commit8ee0a8e91a2dfcde0381949348268961b0f81393 (patch)
treea7d361acfbdf128d75cb67b8eb42f2f0b49bdfea /gc.c
parent9f3585afad86f7683fec377a0eb4bb53b8165529 (diff)
hide ar_table internals from internal.h.
* internal.h: move ar_table def to hash.c because other files don't need to know implementation of ar_table. * hash.c (rb_hash_ar_table_size): added because gc.c needs to know the size_of(ar_table). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gc.c b/gc.c
index 71a3f032ad..fbdb354af6 100644
--- a/gc.c
+++ b/gc.c
@@ -2279,7 +2279,7 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
}
#endif
if (/* RHASH_AR_TABLE_P(obj) */ !FL_TEST_RAW(obj, RHASH_ST_TABLE_FLAG)) {
- ar_table *tab = RHASH(obj)->as.ar;
+ struct ar_table_struct *tab = RHASH(obj)->as.ar;
if (tab) {
if (RHASH_TRANSIENT_P(obj)) {
@@ -3356,7 +3356,8 @@ obj_memsize_of(VALUE obj, int use_all_types)
break;
case T_HASH:
if (RHASH_AR_TABLE_P(obj)) {
- size += sizeof(ar_table);
+ size_t rb_hash_ar_table_size();
+ size += rb_hash_ar_table_size();
}
else {
VM_ASSERT(RHASH_ST_TABLE(obj) != NULL);