[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]