about summary refs log tree commit diff
path: root/src/rt
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-07-12 09:40:36 -0700
committerbors <bors@rust-lang.org>2013-07-12 09:40:36 -0700
commit4e1292ad6bb48010a224e0c43d13e628359fe003 (patch)
treeee512b542310d1408b7921a18baea61efa483f2f /src/rt
parent96b3163c835eb3821e23deefb57c86d80324a54a (diff)
parent7910c72de575a679d299dc8673206882e069c2dd (diff)
downloadrust-4e1292ad6bb48010a224e0c43d13e628359fe003.tar.gz
rust-4e1292ad6bb48010a224e0c43d13e628359fe003.zip
auto merge of #7728 : bcully/rust/largestack64, r=cmr
Just to get the ball rolling, this patch sets stacks to 4 MB on >32-bit architectures.
Diffstat (limited to 'src/rt')
-rw-r--r--src/rt/rust_env.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/rt/rust_env.cpp b/src/rt/rust_env.cpp
index ff03ea817b8..1a29cae2c8b 100644
--- a/src/rt/rust_env.cpp
+++ b/src/rt/rust_env.cpp
@@ -27,6 +27,9 @@
 #define RUST_DEBUG_MEM "RUST_DEBUG_MEM"
 #define RUST_DEBUG_BORROW "RUST_DEBUG_BORROW"
 
+#define DEFAULT_RUST_MIN_STACK_32 0x300
+#define DEFAULT_RUST_MIN_STACK_64 0x400000
+
 static lock_and_signal env_lock;
 
 extern "C" CDECL void
@@ -99,8 +102,10 @@ get_min_stk_size() {
     if(minsz) {
         return strtol(minsz, NULL, 0);
     }
-    else {
-        return 0x300;
+    else if (sizeof(size_t) > 4) {
+        return DEFAULT_RUST_MIN_STACK_64;
+    } else {
+        return DEFAULT_RUST_MIN_STACK_32;
     }
 }