ruby-changes:22544
From: usa <ko1@a...>
Date: Tue, 14 Feb 2012 16:09:43 +0900 (JST)
Subject: [ruby-changes:22544] usa:r34593 (ruby_1_9_3): merge revision(s) 33500,33501:
usa 2012-02-14 16:09:32 +0900 (Tue, 14 Feb 2012) New Revision: 34593 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34593 Log: merge revision(s) 33500,33501: * gc.c (rb_gc_set_params): set parameters always. [ruby-dev:44648] [Bug #5467] * gc.c (initial_params): pack in a struct. Modified files: branches/ruby_1_9_3/ChangeLog branches/ruby_1_9_3/gc.c branches/ruby_1_9_3/version.h Index: ruby_1_9_3/ChangeLog =================================================================== --- ruby_1_9_3/ChangeLog (revision 34592) +++ ruby_1_9_3/ChangeLog (revision 34593) @@ -1,3 +1,10 @@ +Tue Feb 14 15:58:31 2012 NAKAMURA Usaku <usa@r...> + + * gc.c (rb_gc_set_params): set parameters always. + [ruby-dev:44648] [Bug #5467] + + * gc.c (initial_params): pack in a struct. + Tue Feb 14 15:44:42 2012 NAKAMURA Usaku <usa@r...> * test/irb/test_completion.rb: skip if cannot load irb/completion Index: ruby_1_9_3/gc.c =================================================================== --- ruby_1_9_3/gc.c (revision 34592) +++ ruby_1_9_3/gc.c (revision 34593) @@ -80,11 +80,21 @@ #define HEAP_MIN_SLOTS 10000 #define FREE_MIN 4096 -static unsigned int initial_malloc_limit = GC_MALLOC_LIMIT; +typedef struct { + unsigned int initial_malloc_limit; + unsigned int initial_heap_min_slots; + unsigned int initial_free_min; + int gc_stress; +} ruby_gc_params_t; + +ruby_gc_params_t initial_params = { + GC_MALLOC_LIMIT, + HEAP_MIN_SLOTS, + FREE_MIN, #if defined(ENABLE_VM_OBJSPACE) && ENABLE_VM_OBJSPACE -static unsigned int initial_heap_min_slots = HEAP_MIN_SLOTS; + FALSE, #endif -static unsigned int initial_free_min = FREE_MIN; +}; #define nomem_error GET_VM()->special_exceptions[ruby_error_nomemory] @@ -364,7 +374,7 @@ #if defined(ENABLE_VM_OBJSPACE) && ENABLE_VM_OBJSPACE #define rb_objspace (*GET_VM()->objspace) -static int ruby_initial_gc_stress = 0; +#define ruby_initial_gc_stress initial_params.gc_stress int *ruby_initial_gc_stress_ptr = &ruby_initial_gc_stress; #else static rb_objspace_t rb_objspace = {{GC_MALLOC_LIMIT}, {HEAP_MIN_SLOTS}}; @@ -389,6 +399,9 @@ #define mark_stack_overflow objspace->markstack.overflow #define global_List objspace->global_list #define ruby_gc_stress objspace->gc_stress +#define initial_malloc_limit initial_params.initial_malloc_limit +#define initial_heap_min_slots initial_params.initial_heap_min_slots +#define initial_free_min initial_params.initial_free_min static void rb_objspace_call_finalizer(rb_objspace_t *objspace); @@ -403,6 +416,7 @@ return objspace; } +#endif static void initial_expand_heap(rb_objspace_t *objspace); @@ -447,6 +461,7 @@ } } +#if defined(ENABLE_VM_OBJSPACE) && ENABLE_VM_OBJSPACE static void gc_sweep(rb_objspace_t *); static void slot_sweep(rb_objspace_t *, struct heaps_slot *); static void gc_clear_mark_on_sweep_slots(rb_objspace_t *); @@ -479,11 +494,6 @@ } free(objspace); } -#else -void -rb_gc_set_params(void) -{ -} #endif /* tiny heap size */ @@ -1105,7 +1115,6 @@ finalizer_table = st_init_numtable(); } -#if defined(ENABLE_VM_OBJSPACE) && ENABLE_VM_OBJSPACE static void initial_expand_heap(rb_objspace_t *objspace) { @@ -1115,7 +1124,6 @@ add_heap_slots(objspace, min_size - heaps_used); } } -#endif static void set_heaps_increment(rb_objspace_t *objspace) Index: ruby_1_9_3/version.h =================================================================== --- ruby_1_9_3/version.h (revision 34592) +++ ruby_1_9_3/version.h (revision 34593) @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 106 +#define RUBY_PATCHLEVEL 107 #define RUBY_RELEASE_DATE "2012-02-14" #define RUBY_RELEASE_YEAR 2012 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/