about summary refs log tree commit diff
path: root/src/rt
diff options
context:
space:
mode:
authorBrendan Cully <brendan@kublai.com>2013-07-10 21:51:12 -0700
committerBrendan Cully <brendan@convergent.io>2013-07-11 15:40:16 -0700
commit7910c72de575a679d299dc8673206882e069c2dd (patch)
treebd7fa7e4e95ba3731356d14da0f2ee3f2c58c1c6 /src/rt
parentf92b75ac06a86daac8d230285b605ec2ed97214b (diff)
downloadrust-7910c72de575a679d299dc8673206882e069c2dd.tar.gz
rust-7910c72de575a679d299dc8673206882e069c2dd.zip
Enable large stacks on 64-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;
     }
 }