Feature #18494 » 0001-ruby_gc_set_params-update-malloc_limit-when-env-is-s.patch
| gc.c | ||
|---|---|---|
|
void
|
||
|
ruby_gc_set_params(void)
|
||
|
{
|
||
|
rb_objspace_t *objspace = &rb_objspace;
|
||
|
/* RUBY_GC_HEAP_FREE_SLOTS */
|
||
|
if (get_envparam_size("RUBY_GC_HEAP_FREE_SLOTS", &gc_params.heap_free_slots, 0)) {
|
||
|
/* ok */
|
||
| ... | ... | |
|
gc_params.heap_free_slots_min_ratio, gc_params.heap_free_slots_max_ratio, TRUE);
|
||
|
get_envparam_double("RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR", &gc_params.oldobject_limit_factor, 0.0, 0.0, TRUE);
|
||
|
get_envparam_size ("RUBY_GC_MALLOC_LIMIT", &gc_params.malloc_limit_min, 0);
|
||
|
if (get_envparam_size("RUBY_GC_MALLOC_LIMIT", &gc_params.malloc_limit_min, 0)) {
|
||
|
malloc_limit = gc_params.malloc_limit_min;
|
||
|
}
|
||
|
get_envparam_size ("RUBY_GC_MALLOC_LIMIT_MAX", &gc_params.malloc_limit_max, 0);
|
||
|
if (!gc_params.malloc_limit_max) { /* ignore max-check if 0 */
|
||
|
gc_params.malloc_limit_max = SIZE_MAX;
|
||
| ... | ... | |
|
#if RGENGC_ESTIMATE_OLDMALLOC
|
||
|
if (get_envparam_size("RUBY_GC_OLDMALLOC_LIMIT", &gc_params.oldmalloc_limit_min, 0)) {
|
||
|
rb_objspace_t *objspace = &rb_objspace;
|
||
|
objspace->rgengc.oldmalloc_increase_limit = gc_params.oldmalloc_limit_min;
|
||
|
}
|
||
|
get_envparam_size ("RUBY_GC_OLDMALLOC_LIMIT_MAX", &gc_params.oldmalloc_limit_max, 0);
|
||