1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

'resize_set' no longer allocates in a loop.

* libguile/weak-set.c (resize_set): Call 'scm_gc_malloc_pointerless'
outside the loop.
This commit is contained in:
Ludovic Courtès 2020-03-23 21:40:06 +01:00
parent 02e3dc6ab9
commit 6111b86bdc

View file

@ -363,11 +363,11 @@ resize_set (scm_t_weak_set *set)
if (new_size_index == set->size_index) if (new_size_index == set->size_index)
return; return;
new_size = hashset_size[new_size_index]; new_size = hashset_size[new_size_index];
new_entries = scm_gc_malloc_pointerless (new_size * sizeof(scm_t_weak_entry),
"weak set");
} }
while (!is_acceptable_size_index (set, new_size_index)); while (!is_acceptable_size_index (set, new_size_index));
new_entries = scm_gc_malloc_pointerless (new_size * sizeof (scm_t_weak_entry),
"weak set");
old_entries = set->entries; old_entries = set->entries;
old_size = set->size; old_size = set->size;