From ca8e99fd78ab9b56c5bdc61027b032ad52c2ec8b Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 5 Apr 2013 11:55:43 -0700 Subject: rt: Fix scalability problem with big stacks on 32 bit --- src/rt/rust_stack.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/rt/rust_stack.cpp') diff --git a/src/rt/rust_stack.cpp b/src/rt/rust_stack.cpp index 64ca256ff46..f07690a955e 100644 --- a/src/rt/rust_stack.cpp +++ b/src/rt/rust_stack.cpp @@ -13,6 +13,8 @@ #include "vg/valgrind.h" #include "vg/memcheck.h" +#include + #ifdef _LP64 const uintptr_t canary_value = 0xABCDABCDABCDABCD; #else @@ -61,6 +63,7 @@ create_stack(memory_region *region, size_t sz) { stk_seg *stk = (stk_seg *)region->malloc(total_sz, "stack"); memset(stk, 0, sizeof(stk_seg)); stk->end = (uintptr_t) &stk->data[sz]; + stk->is_big = 0; add_stack_canary(stk); register_valgrind_stack(stk); return stk; @@ -78,6 +81,7 @@ create_exchange_stack(rust_exchange_alloc *exchange, size_t sz) { stk_seg *stk = (stk_seg *)exchange->malloc(total_sz); memset(stk, 0, sizeof(stk_seg)); stk->end = (uintptr_t) &stk->data[sz]; + stk->is_big = 0; add_stack_canary(stk); register_valgrind_stack(stk); return stk; -- cgit 1.4.1-3-g733a5