diff options
Diffstat (limited to 'libguile/gc-segment.c')
-rw-r--r-- | libguile/gc-segment.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/libguile/gc-segment.c b/libguile/gc-segment.c index 593aa29a2..46054fc53 100644 --- a/libguile/gc-segment.c +++ b/libguile/gc-segment.c @@ -512,21 +512,14 @@ scm_i_get_new_heap_segment (scm_t_cell_type_statistics *freelist, policy_on_erro freelist->collected = LONG_MAX; } - if (len > scm_max_segment_size) - len = scm_max_segment_size; + if (len > SCM_MIN_HEAP_SEG_SIZE) + len = SCM_MIN_HEAP_SEG_SIZE; { - size_t smallest; scm_t_heap_segment * seg = scm_i_make_empty_heap_segment (freelist); - - smallest = 1024 * 10; /* UGH. */ - - if (len < smallest) - len = smallest; /* Allocate with decaying ambition. */ - while ((len >= SCM_MIN_HEAP_SEG_SIZE) - && (len >= smallest)) + while (len >= SCM_MIN_HEAP_SEG_SIZE) { if (scm_i_initialize_heap_segment_data (seg, len)) { |