зеркало из https://github.com/github/ruby.git
check `ARY_SHARED_ROOT_P()`.
ARY_SHARED_ROOT_P(ary) is true, ARY_HEAP_CAPA(ary) should not be called.
This commit is contained in:
Родитель
3deeb3fd91
Коммит
6d578164f5
6
array.c
6
array.c
|
@ -786,7 +786,11 @@ void
|
|||
rb_ary_free(VALUE ary)
|
||||
{
|
||||
if (ARY_OWNS_HEAP_P(ary)) {
|
||||
(void)RB_DEBUG_COUNTER_INC_IF(obj_ary_extracapa, ARY_HEAP_CAPA(ary) > RARRAY_LEN(ary));
|
||||
if (USE_DEBUG_COUNTER &&
|
||||
!ARY_SHARED_ROOT_P(ary) &&
|
||||
ARY_HEAP_CAPA(ary) > RARRAY_LEN(ary)) {
|
||||
RB_DEBUG_COUNTER_INC(obj_ary_extracapa);
|
||||
}
|
||||
|
||||
if (RARRAY_TRANSIENT_P(ary)) {
|
||||
RB_DEBUG_COUNTER_INC(obj_ary_transient);
|
||||
|
|
Загрузка…
Ссылка в новой задаче