diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-08-05 13:10:34 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-08-07 15:40:27 -0700 |
| commit | 0929eb4ac8bfe00c5b3430fac3a07dcf64b51d02 (patch) | |
| tree | d08d6deca9dcda2672aa1a080f5cce23bdc749de | |
| parent | ae1ed4fd78273502153083f1514a1fcd7c929886 (diff) | |
| download | rust-0929eb4ac8bfe00c5b3430fac3a07dcf64b51d02.tar.gz rust-0929eb4ac8bfe00c5b3430fac3a07dcf64b51d02.zip | |
rustc: Use 4MB stacks. Needed for unoptimized builds apparently.
| -rw-r--r-- | src/librustc/rustc.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/librustc/rustc.rs b/src/librustc/rustc.rs index 222433787f0..1dfca0ba0e8 100644 --- a/src/librustc/rustc.rs +++ b/src/librustc/rustc.rs @@ -298,10 +298,18 @@ bug and need to present an error. */ pub fn monitor(f: ~fn(diagnostic::Emitter)) { use std::comm::*; + + // XXX: This is a hack for newsched since it doesn't support split stacks. + // rustc needs a lot of stack! + static STACK_SIZE: uint = 4000000; + let (p, ch) = stream(); let ch = SharedChan::new(ch); let ch_capture = ch.clone(); - match do task::try || { + let mut task_builder = task::task(); + task_builder.supervised(); + task_builder.opts.stack_size = Some(STACK_SIZE); + match do task_builder.try { let ch = ch_capture.clone(); let ch_capture = ch.clone(); // The 'diagnostics emitter'. Every error, warning, etc. should |
