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

ruby-changes:25027

From: nobu <ko1@a...>
Date: Thu, 4 Oct 2012 11:39:47 +0900 (JST)
Subject: [ruby-changes:25027] nobu:r37079 (trunk): * thread_pthread.c (RUBY_STACK_MIN_LIMIT): name magic number.

nobu	2012-10-04 11:39:34 +0900 (Thu, 04 Oct 2012)

  New Revision: 37079

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37079

  Log:
    * thread_pthread.c (RUBY_STACK_MIN_LIMIT): name magic number.

  Modified files:
    trunk/thread_pthread.c

Index: thread_pthread.c
===================================================================
--- thread_pthread.c	(revision 37078)
+++ thread_pthread.c	(revision 37079)
@@ -588,6 +588,26 @@
 #endif
 } native_main_thread;
 
+
+enum {
+#ifdef __SYMBIAN32__
+    RUBY_STACK_MIN_LIMIT = 64 * 1024,  /* 64KB: Let's be slightly more frugal on mobile platform */
+#else
+    RUBY_STACK_MIN_LIMIT = 512 * 1024, /* 512KB */
+#endif
+    RUBY_STACK_SPACE_LIMIT = 1024 * 1024,
+#ifdef PTHREAD_STACK_MIN
+    RUBY_STACK_MIN = ((RUBY_STACK_MIN_LIMIT < PTHREAD_STACK_MIN) ?
+		      PTHREAD_STACK_MIN * 2 : RUBY_STACK_MIN_LIMIT),
+#else
+    RUBY_STACK_MIN = (RUBY_STACK_MIN_LIMIT),
+#endif
+    RUBY_STACK_SPACE_RATIO = 5,
+    RUBY_STACK_MIN_SPACE = RUBY_STACK_MIN/RUBY_STACK_SPACE_RATIO,
+    RUBY_STACK_SPACE = ((RUBY_STACK_MIN_SPACE > RUBY_STACK_SPACE_LIMIT) ?
+			RUBY_STACK_SPACE_LIMIT : RUBY_STACK_MIN_SPACE)
+};
+
 #ifdef STACK_END_ADDRESS
 extern void *STACK_END_ADDRESS;
 #endif
@@ -806,24 +826,6 @@
     return result;
 }
 
-enum {
-#ifdef __SYMBIAN32__
-    RUBY_STACK_MIN_LIMIT = 64 * 1024,  /* 64KB: Let's be slightly more frugal on mobile platform */
-#else
-    RUBY_STACK_MIN_LIMIT = 512 * 1024, /* 512KB */
-#endif
-    RUBY_STACK_SPACE_LIMIT = 1024 * 1024
-};
-
-#ifdef PTHREAD_STACK_MIN
-#define RUBY_STACK_MIN ((RUBY_STACK_MIN_LIMIT < PTHREAD_STACK_MIN) ? \
-			PTHREAD_STACK_MIN * 2 : RUBY_STACK_MIN_LIMIT)
-#else
-#define RUBY_STACK_MIN (RUBY_STACK_MIN_LIMIT)
-#endif
-#define RUBY_STACK_SPACE (RUBY_STACK_MIN/5 > RUBY_STACK_SPACE_LIMIT ? \
-			  RUBY_STACK_SPACE_LIMIT : RUBY_STACK_MIN/5)
-
 static int
 native_thread_create(rb_thread_t *th)
 {
@@ -1425,7 +1427,7 @@
     else {
 	return 0;
     }
-    size /= 5;
+    size /= RUBY_STACK_SPACE_RATIO;
     if (size > water_mark) size = water_mark;
     if (IS_STACK_DIR_UPPER()) {
 	if (size > ~(size_t)base+1) size = ~(size_t)base+1;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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