summaryrefslogtreecommitdiff
path: root/libguile/gc-freelist.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/gc-freelist.c')
-rw-r--r--libguile/gc-freelist.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/gc-freelist.c b/libguile/gc-freelist.c
index 8bf3cc6d1..7a144c228 100644
--- a/libguile/gc-freelist.c
+++ b/libguile/gc-freelist.c
@@ -78,7 +78,8 @@ SCM_DEFINE (scm_gc_set_debug_check_freelist_x, "gc-set-debug-check-freelist!", 1
*/
void
-scm_i_adjust_min_yield (scm_t_cell_type_statistics *freelist)
+scm_i_adjust_min_yield (scm_t_cell_type_statistics *freelist,
+ scm_t_sweep_statistics sweep_stats)
{
/* min yield is adjusted upwards so that next predicted total yield
* (allocated cells actually freed by GC) becomes
@@ -98,7 +99,7 @@ scm_i_adjust_min_yield (scm_t_cell_type_statistics *freelist)
{
/* Pick largest of last two yields. */
long delta = ((SCM_HEAP_SIZE * freelist->min_yield_fraction / 100)
- - (long) SCM_MAX (scm_gc_cells_collected_1, scm_gc_cells_collected));
+ - (long) sweep_stats.collected);
#ifdef DEBUGINFO
fprintf (stderr, " after GC = %lu, delta = %ld\n",
(unsigned long) scm_cells_allocated,