summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authortmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-05 00:19:13 +0000
committertmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-05 00:19:13 +0000
commit53e0d4666cbbc09abe459e99c6f94c46b58b94b9 (patch)
tree2bed1a82852c6a222cb25da11250915cdb48a7a5 /gc.c
parent46b4eca8e2807122c99e7dcd1725464b5918f060 (diff)
gc.c: Load GC tuning settings earlier during boot.
* gc.c (ruby_gc_set_params): Accept safe_level argument so GC tuning settings can be applied before rb_safe_level() is available. * internal.h (rb_gc_set_params): ditto. * ruby.c (process_options): Apply GC tuning early during boot process so boot-time allocations can benefit. This also benefits any code loaded in via `ruby -r`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gc.c b/gc.c
index ddf607ce20..aff7b118ac 100644
--- a/gc.c
+++ b/gc.c
@@ -5386,9 +5386,9 @@ gc_set_initial_pages(void)
*/
void
-ruby_gc_set_params(void)
+ruby_gc_set_params(int safe_level)
{
- if (rb_safe_level() > 0) return;
+ if (safe_level > 0) return;
/* RUBY_GC_HEAP_FREE_SLOTS */
if (get_envparam_int ("RUBY_FREE_MIN", &gc_params.heap_free_slots, 0)) {
@@ -5419,7 +5419,7 @@ ruby_gc_set_params(void)
#endif
}
-RUBY_ALIAS_FUNCTION_VOID(rb_gc_set_params(void), ruby_gc_set_params, ())
+RUBY_ALIAS_FUNCTION_VOID(rb_gc_set_params(void), ruby_gc_set_params, (rb_safe_level()))
void
rb_objspace_reachable_objects_from(VALUE obj, void (func)(VALUE, void *), void *data)