From 4e85feed334f1904ae35a222eae4d09560cef8eb Mon Sep 17 00:00:00 2001 From: rhe Date: Thu, 13 Apr 2017 06:43:17 +0000 Subject: array.c: report correct memsize for shared root arrays For a shared array root, struct RArray::as.heap.aux.capa stores the number of Arrays holding reference to that T_ARRAY instead of the actual heap-allocated capacity. Use ARY_CAPA() macro which handles this appropriately. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'array.c') diff --git a/array.c b/array.c index 669b677959..329061f9c0 100644 --- a/array.c +++ b/array.c @@ -555,7 +555,7 @@ RUBY_FUNC_EXPORTED size_t rb_ary_memsize(VALUE ary) { if (ARY_OWNS_HEAP_P(ary)) { - return RARRAY(ary)->as.heap.aux.capa * sizeof(VALUE); + return ARY_CAPA(ary) * sizeof(VALUE); } else { return 0; -- cgit v1.2.3