138 |
int span, |
int span, |
139 |
int min_yield) |
int min_yield) |
140 |
{ |
{ |
141 |
|
if (min_yield < 1) |
142 |
|
min_yield = 1; |
143 |
|
if (min_yield > 99) |
144 |
|
min_yield = 99; |
145 |
|
|
146 |
freelist->heap_segment_idx = -1; |
freelist->heap_segment_idx = -1; |
147 |
freelist->min_yield = 0; |
freelist->min_yield = 0; |
148 |
freelist->min_yield_fraction = min_yield; |
freelist->min_yield_fraction = min_yield; |
163 |
void |
void |
164 |
scm_gc_init_freelist (void) |
scm_gc_init_freelist (void) |
165 |
{ |
{ |
166 |
size_t init_heap_size_1 |
int init_heap_size_1 |
167 |
= scm_getenv_int ("GUILE_INIT_SEGMENT_SIZE_1", SCM_DEFAULT_INIT_HEAP_SIZE_1); |
= scm_getenv_int ("GUILE_INIT_SEGMENT_SIZE_1", SCM_DEFAULT_INIT_HEAP_SIZE_1); |
168 |
|
int init_heap_size_2 |
|
size_t init_heap_size_2 |
|
169 |
= scm_getenv_int ("GUILE_INIT_SEGMENT_SIZE_2", SCM_DEFAULT_INIT_HEAP_SIZE_2); |
= scm_getenv_int ("GUILE_INIT_SEGMENT_SIZE_2", SCM_DEFAULT_INIT_HEAP_SIZE_2); |
170 |
|
|
171 |
scm_i_freelist = SCM_EOL; |
scm_i_freelist = SCM_EOL; |
176 |
scm_init_freelist (&scm_i_master_freelist, 1, |
scm_init_freelist (&scm_i_master_freelist, 1, |
177 |
scm_getenv_int ("GUILE_MIN_YIELD_1", SCM_DEFAULT_MIN_YIELD_1)); |
scm_getenv_int ("GUILE_MIN_YIELD_1", SCM_DEFAULT_MIN_YIELD_1)); |
178 |
|
|
|
|
|
179 |
scm_max_segment_size = scm_getenv_int ("GUILE_MAX_SEGMENT_SIZE", SCM_DEFAULT_MAX_SEGMENT_SIZE); |
scm_max_segment_size = scm_getenv_int ("GUILE_MAX_SEGMENT_SIZE", SCM_DEFAULT_MAX_SEGMENT_SIZE); |
180 |
|
|
181 |
|
if (scm_max_segment_size <= 0) |
182 |
|
scm_max_segment_size = SCM_DEFAULT_MAX_SEGMENT_SIZE; |
183 |
|
|
184 |
|
|
185 |
scm_i_make_initial_segment (init_heap_size_1, &scm_i_master_freelist); |
scm_i_make_initial_segment (init_heap_size_1, &scm_i_master_freelist); |
186 |
scm_i_make_initial_segment (init_heap_size_2, &scm_i_master_freelist2); |
scm_i_make_initial_segment (init_heap_size_2, &scm_i_master_freelist2); |
|
|
|
187 |
|
|
188 |
#if (SCM_ENABLE_DEPRECATED == 1) |
#if (SCM_ENABLE_DEPRECATED == 1) |
189 |
if ( scm_default_init_heap_size_1 || |
if ( scm_default_init_heap_size_1 || |