about summary refs log tree commit diff
path: root/src/libstd/rt/crate_map.rs
AgeCommit message (Collapse)AuthorLines
2014-01-26Removed all instances of XXX in preparation for relaxing of FIXME ruleSalem Talha-1/+1
2014-01-15Issue #3511 - Rationalize temporary lifetimes.Niko Matsakis-9/+9
Major changes: - Define temporary scopes in a syntax-based way that basically defaults to the innermost statement or conditional block, except for in a `let` initializer, where we default to the innermost block. Rules are documented in the code, but not in the manual (yet). See new test run-pass/cleanup-value-scopes.rs for examples. - Refactors Datum to better define cleanup roles. - Refactor cleanup scopes to not be tied to basic blocks, permitting us to have a very large number of scopes (one per AST node). - Introduce nascent documentation in trans/doc.rs covering datums and cleanup in a more comprehensive way.
2014-01-07std: Fill in all missing importsAlex Crichton-0/+2
Fallout from the previous commits
2013-12-24green: Allow specifying an IoFactory for poolsAlex Crichton-1/+1
This allows creation of different sched pools with different io factories. Namely, this will be used to test the basic I/O loop in the green crate. This can also be used to override the global default.
2013-12-11Make 'self lifetime illegal.Erik Price-5/+5
Also remove all instances of 'self within the codebase. This fixes #10889.
2013-11-26test: Remove non-procedure uses of `do` from compiletest, libstd tests,Patrick Walton-6/+6
compile-fail tests, run-fail tests, and run-pass tests.
2013-11-24std::rt: Fix crate_map on Win64klutzy-1/+6
2013-11-19libstd: Change all uses of `&fn(A)->B` over to `|A|->B` in libstdPatrick Walton-3/+5
2013-11-11Remove #[fixed_stack_segment] and #[rust_stack]Alex Crichton-2/+0
These two attributes are no longer useful now that Rust has decided to leave segmented stacks behind. It is assumed that the rust task's stack is always large enough to make an FFI call (due to the stack being very large). There's always the case of stack overflow, however, to consider. This does not change the behavior of stack overflow in Rust. This is still normally triggered by the __morestack function and aborts the whole process. C stack overflow will continue to corrupt the stack, however (as it did before this commit as well). The future improvement of a guard page at the end of every rust stack is still unimplemented and is intended to be the mechanism through which we attempt to detect C stack overflow. Closes #8822 Closes #10155
2013-10-29Register new snapshotsAlex Crichton-15/+0
2013-10-29Move rust's uv implementation to its own crateAlex Crichton-8/+30
There are a few reasons that this is a desirable move to take: 1. Proof of concept that a third party event loop is possible 2. Clear separation of responsibility between rt::io and the uv-backend 3. Enforce in the future that the event loop is "pluggable" and replacable Here's a quick summary of the points of this pull request which make this possible: * Two new lang items were introduced: event_loop, and event_loop_factory. The idea of a "factory" is to define a function which can be called with no arguments and will return the new event loop as a trait object. This factory is emitted to the crate map when building an executable. The factory doesn't have to exist, and when it doesn't then an empty slot is in the crate map and a basic event loop with no I/O support is provided to the runtime. * When building an executable, then the rustuv crate will be linked by default (providing a default implementation of the event loop) via a similar method to injecting a dependency on libstd. This is currently the only location where the rustuv crate is ever linked. * There is a new #[no_uv] attribute (implied by #[no_std]) which denies implicitly linking to rustuv by default Closes #5019
2013-10-23Removed Unnecessary comments and white spaces #4386reedlepee-2/+0
2013-10-23Making fields in std and extra : private #4386reedlepee-3/+5
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-1/+1
Who doesn't like a massive renaming?
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-10-11Remove support for older CrateMap versionsFlorian Hahn-170/+10
2013-10-06get_crate_map returns an OptionFlorian Hahn-15/+24
2013-10-05Add code for older crate map versions, bumped crate map version numberFlorian Hahn-38/+171
2013-10-05Use &'self str instead of raw char pointer in ModEntryFlorian Hahn-60/+54
2013-10-05Use slice representation for module entries in CrateMapFlorian Hahn-80/+42
Relaxe lifetime of CrateMap as well.
2013-10-05Use slice representation for child crate mapsFlorian Hahn-106/+126
2013-09-30std: Remove usage of fmt!Alex Crichton-2/+2
2013-09-27auto merge of #9562 : alexcrichton/rust/snapshots, r=thestingerbors-12/+0
2013-09-27Register new snapshotsAlex Crichton-12/+0
2013-09-26std and rustc: Convert users of c_str to use .with_c_strErick Tryzelaar-2/+2
2013-09-24Remove the annihilate function from the crate map. Fixes #8431Luqman Aden-17/+14
2013-09-23Register new snapshotsAlex Crichton-3/+3
2013-09-23Find the cratemap at runtime on windows.Luqman Aden-2/+21
2013-09-19Fix unresolved symbol error for the crate_map in libstd on os x.Luqman Aden-0/+7
2013-09-18libstd/librustc: Make the crate_map a weak symbol that libstd links against.Luqman Aden-1/+2
2013-09-18librustc/libstd: No longer pass crate_map to start.Luqman Aden-1/+12
2013-09-13Convert rust_crate_map.cpp to RustFlorian Hahn-0/+200
Conflicts: src/libstd/rt/logging.rs