summary refs log tree commit diff
path: root/src/libstd/rt/env.rs
AgeCommit message (Collapse)AuthorLines
2014-02-14Register new snapshotsAlex Crichton-11/+0
This enables the parser error for `extern mod` => `extern crate` transitions.
2014-02-07remove type descriptors from proc and @TDaniel Micay-0/+2
This also drops support for the managed pointer POISON_ON_FREE feature as it's not worth adding back the support for it. After a snapshot, the leftovers can be removed.
2014-01-24Use `mmap` to map in task stacks and guard pageCorey Richardson-2/+13
Also implement caching of stacks.
2013-12-24green: Rip the bandaid off, introduce libgreenAlex Crichton-1/+1
This extracts everything related to green scheduling from libstd and introduces a new libgreen crate. This mostly involves deleting most of std::rt and moving it to libgreen. Along with the movement of code, this commit rearchitects many functions in the scheduler in order to adapt to the fact that Local::take now *only* works on a Task, not a scheduler. This mostly just involved threading the current green task through in a few locations, but there were one or two spots where things got hairy. There are a few repercussions of this commit: * tube/rc have been removed (the runtime implementation of rc) * There is no longer a "single threaded" spawning mode for tasks. This is now encompassed by 1:1 scheduling + communication. Convenience methods have been introduced that are specific to libgreen to assist in the spawning of pools of schedulers.
2013-11-11Decrease the default stack size back to 2MBAlex Crichton-1/+1
I increased this to 4MB when I implemented abort-on-stack-overflow for Rust functions. Now that the fixed_stack_segment attribute is removed, no rust function will ever reasonably request 2MB of stack (due to calling an FFI function). The default size of 2MB should be plenty for everyday use-cases, and tasks can still request more stack via the spawning API.
2013-10-26Rewrite boxed_region/memory_region in RustAlex Crichton-0/+9
This drops more of the old C++ runtime to rather be written in rust. A few features were lost along the way, but hopefully not too many. The main loss is that there are no longer backtraces associated with allocations (rust doesn't have a way of acquiring those just yet). Other than that though, I believe that the rest of the debugging utilities made their way over into rust. Closes #8704
2013-10-19Use __morestack to detect stack overflowAlex Crichton-1/+1
This commit resumes management of the stack boundaries and limits when switching between tasks. This additionally leverages the __morestack function to run code on "stack overflow". The current behavior is to abort the process, but this is probably not the best behavior in the long term (for deails, see the comment I wrote up in the stack exhaustion routine).
2013-08-19std: Restore dynamic borrow trackingBrian Anderson-0/+9
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-41/+0
2013-08-07std::rt: Pull RUST_MIN_STACK from the environmentBrian Anderson-0/+28
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+49
This only changes the directory names; it does not change the "real" metadata names.