summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-23 21:40:06 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-23 22:49:47 +0100
commit6111b86bdcc0dd4c8821ccf70fecc5dbd8590830 (patch)
tree7b7c3126fc2c29dcf4691804931cabd4985b6ab7
parent02e3dc6ab95fe51786b68a8200322e163f8da478 (diff)
downloadguile-6111b86bdcc0dd4c8821ccf70fecc5dbd8590830.tar.gz
'resize_set' no longer allocates in a loop.
* libguile/weak-set.c (resize_set): Call 'scm_gc_malloc_pointerless' outside the loop.
-rw-r--r--libguile/weak-set.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/weak-set.c b/libguile/weak-set.c
index e71af9a7d..93c429346 100644
--- a/libguile/weak-set.c
+++ b/libguile/weak-set.c
@@ -363,11 +363,11 @@ resize_set (scm_t_weak_set *set)
if (new_size_index == set->size_index)
return;
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));
+ new_entries = scm_gc_malloc_pointerless (new_size * sizeof (scm_t_weak_entry),
+ "weak set");
old_entries = set->entries;
old_size = set->size;