diff --git a/gc.c b/gc.c index 21554eeabf..7c972f5b50 100644 --- a/gc.c +++ b/gc.c @@ -2388,6 +2388,10 @@ Init_heap(void) gc_stress_set(objspace, ruby_initial_gc_stress); + dont_gc = 1; + + gc_stress_set(objspace, ruby_initial_gc_stress); + #if RGENGC_ESTIMATE_OLDMALLOC objspace->rgengc.oldmalloc_increase_limit = gc_params.oldmalloc_limit_min; #endif @@ -2409,6 +2413,14 @@ Init_heap(void) finalizer_table = st_init_numtable(); } +void +Init_gc_stress(void) +{ + rb_objspace_t *objspace = &rb_objspace; + + dont_gc = 0; +} + typedef int each_obj_callback(void *, void *, size_t, void *); struct each_obj_args { diff --git a/inits.c b/inits.c index 5822f04cab..d6cc0cbc78 100644 --- a/inits.c +++ b/inits.c @@ -61,5 +61,6 @@ rb_call_inits(void) CALL(Complex); CALL(version); CALL(vm_trace); + CALL(gc_stress); } #undef CALL diff --git a/version.h b/version.h index 1cb2cd846a..0abdcb48a6 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.5.6" #define RUBY_RELEASE_DATE "2019-08-27" -#define RUBY_PATCHLEVEL 193 +#define RUBY_PATCHLEVEL 194 #define RUBY_RELEASE_YEAR 2019 #define RUBY_RELEASE_MONTH 8