Fix default value of global_init_slots

Not setting a value to global_init_slots causes get_envparam_size to
output a broken default value.
This commit is contained in:
Peter Zhu 2023-07-31 15:12:20 -04:00
Родитель 954b7ac81e
Коммит c01b17f7fc
2 изменённых файлов: 3 добавлений и 1 удалений

2
gc.c
Просмотреть файл

@ -11665,7 +11665,7 @@ ruby_gc_set_params(void)
}
/* RUBY_GC_HEAP_INIT_SLOTS */
size_t global_init_slots;
size_t global_init_slots = GC_HEAP_INIT_SLOTS;
if (get_envparam_size("RUBY_GC_HEAP_INIT_SLOTS", &global_init_slots, 0)) {
for (int i = 0; i < SIZE_POOL_COUNT; i++) {
gc_params.size_pool_init_slots[i] = global_init_slots;

Просмотреть файл

@ -345,6 +345,8 @@ class TestGc < Test::Unit::TestCase
assert_in_out_err([env, "-W0", "-e", "exit"], "", [], [], "[ruby-core:39795]")
assert_in_out_err([env, "-W1", "-e", "exit"], "", [], [], "[ruby-core:39795]")
assert_in_out_err([env, "-w", "-e", "exit"], "", [], /RUBY_GC_HEAP_INIT_SLOTS=100000/, "[ruby-core:39795]")
# Value of GC_HEAP_INIT_SLOTS is 10000
assert_in_out_err([env, "-w", "-e", "exit"], "", [], /\(default value: 10000\)/)
env = {
"RUBY_GC_HEAP_GROWTH_FACTOR" => "2.0",