ruby-changes:21452
From: nobu <ko1@a...>
Date: Fri, 21 Oct 2011 22:02:31 +0900 (JST)
Subject: [ruby-changes:21452] nobu:r33501 (trunk): * gc.c (initial_params): pack in a struct.
nobu 2011-10-21 22:02:19 +0900 (Fri, 21 Oct 2011) New Revision: 33501 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33501 Log: * gc.c (initial_params): pack in a struct. Modified files: trunk/ChangeLog trunk/gc.c Index: ChangeLog =================================================================== --- ChangeLog (revision 33500) +++ ChangeLog (revision 33501) @@ -1,5 +1,7 @@ -Fri Oct 21 22:01:35 2011 Nobuyoshi Nakada <nobu@r...> +Fri Oct 21 22:02:17 2011 Nobuyoshi Nakada <nobu@r...> + * gc.c (initial_params): pack in a struct. + * gc.c (rb_gc_set_params): set parameters always. [ruby-dev:44648] [Bug #5467] Index: gc.c =================================================================== --- gc.c (revision 33500) +++ gc.c (revision 33501) @@ -80,12 +80,24 @@ #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; #if defined(ENABLE_VM_OBJSPACE) && ENABLE_VM_OBJSPACE -static unsigned int initial_heap_min_slots = HEAP_MIN_SLOTS; + int gc_stress; #endif -static unsigned int initial_free_min = FREE_MIN; +} 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 + FALSE, +#endif +}; + #define nomem_error GET_VM()->special_exceptions[ruby_error_nomemory] #define MARK_STACK_MAX 1024 @@ -370,7 +382,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}}; @@ -396,6 +408,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 #define is_lazy_sweeping(objspace) ((objspace)->heap.sweep_slots != 0) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/