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

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/

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