1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

array.c: use ruby_sized_free and SIZED_REALLOC_N

Part of the plan to reduce dependencies on malloc_usable_size
which costs us speed: https://bugs.ruby-lang.org/issues/10238

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
normal 2018-05-21 21:21:23 +00:00
parent af71ee55ef
commit b0200a5e36

View file

@ -230,7 +230,7 @@ ary_resize_capa(VALUE ary, long capacity)
MEMCPY((VALUE *)RARRAY(ary)->as.ary, ptr, VALUE, len); MEMCPY((VALUE *)RARRAY(ary)->as.ary, ptr, VALUE, len);
FL_SET_EMBED(ary); FL_SET_EMBED(ary);
ARY_SET_LEN(ary, len); ARY_SET_LEN(ary, len);
ruby_xfree((VALUE *)ptr); ruby_sized_xfree((VALUE *)ptr, RARRAY(ary)->as.heap.aux.capa);
} }
} }
} }
@ -243,7 +243,7 @@ ary_shrink_capa(VALUE ary)
assert(!ARY_SHARED_P(ary)); assert(!ARY_SHARED_P(ary));
assert(old_capa >= capacity); assert(old_capa >= capacity);
if (old_capa > capacity) if (old_capa > capacity)
REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, capacity); SIZED_REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, capacity, old_capa);
} }
static void static void