about summary refs log tree commit diff
path: root/src/rt/rust_env.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_env.cpp')
-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;
     }
 }