about summary refs log tree commit diff
path: root/src/libstd/unstable/mod.rs
AgeCommit message (Collapse)AuthorLines
2014-06-09std: Move dynamic_lib from std::unstable to stdBrian Anderson-13/+0
This leaves a deprecated reexport in place temporarily. Closes #1457.
2014-06-06std: Deal with fallout of rtio changesAlex Crichton-4/+0
2014-05-23std: Move unstable::finally to std::finally. #1457Brian Anderson-2/+0
[breaking-change]
2014-05-23std: Move simd to core::simd and reexport. #1457Brian Anderson-1/+0
[breaking-change]
2014-05-23std: Move running_on_valgrind to rt::util. #1457Brian Anderson-13/+0
[breaking-change]
2014-05-15std: Remove run_in_bare_threadBrian Anderson-31/+0
2014-05-07std: Remove a glob to get std to compileAlex Crichton-1/+1
2014-05-07core: Inherit the finally moduleAlex Crichton-1/+2
2014-05-02Replace most ~exprs with 'box'. #11779Brian Anderson-2/+2
2014-04-08Register new snapshotsAlex Crichton-1/+1
2014-03-28Convert most code to new inner attribute syntax.Brian Anderson-1/+1
Closes #2569
2014-03-27Fix fallout of removing default boundsAlex Crichton-1/+1
This is all purely fallout of getting the previous commit to compile.
2014-02-23std: Move unstable::stack to rt::stackBrian Anderson-1/+0
2014-02-23std: Remove unstable::langBrian Anderson-2/+0
Put the lonely lang items here closer to the code they are calling.
2014-02-23std: Move raw to std::rawBrian Anderson-1/+0
Issue #1457
2014-02-23std: Move intrinsics to std::intrinsics.Brian Anderson-1/+0
Issue #1457
2014-01-29Removing do keyword from libstd and librustcScott Lawrence-4/+4
2013-12-24green: Rip the bandaid off, introduce libgreenAlex Crichton-0/+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-12-24std: Introduce std::syncAlex Crichton-1/+0
For now, this moves the following modules to std::sync * UnsafeArc (also removed unwrap method) * mpsc_queue * spsc_queue * atomics * mpmc_bounded_queue * deque We may want to remove some of the queues, but for now this moves things out of std::rt into std::sync
2013-12-16Fallout of rewriting std::commAlex Crichton-12/+1
2013-12-10libextra: Another round of de-`Cell`-ing.Patrick Walton-3/+1
34 uses of `Cell` remain.
2013-11-18auto merge of #10561 : pcwalton/rust/procify, r=alexcrichtonbors-1/+1
r? @alexcrichton
2013-11-18Implement a native mutex typeAlex Crichton-0/+1
This mutex is built on top of pthreads for unix and the related windows apis on windows. This is a straight port of the lock_and_signal type from C++ to rust. Almost all operations on the type are unsafe, and it's definitely not recommended for general use. Closes #9105
2013-11-18libstd: Change all `~fn()`s to `proc`s in the standard library.Patrick Walton-1/+1
This makes `Cell`s no longer necessary in most cases.
2013-11-11Remove #[fixed_stack_segment] and #[rust_stack]Alex Crichton-1/+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-28Make some more rt components publicAlex Crichton-1/+1
Primarily this makes the Scheduler and all of its related interfaces public. The reason for doing this is that currently any extern event loops had no access to the scheduler at all. This allows third-party event loops to manipulate the scheduler, along with allowing the uv event loop to live inside of its own crate.
2013-10-18Remove the fmt! syntax extensionAlex Crichton-1/+0
It lived a good life, but its time has come. The groundwork is set for the official transition after the next snapshot (removal of XXX2 macros)
2013-10-07Fix existing privacy/visibility violationsAlex Crichton-1/+1
This commit fixes all of the fallout of the previous commit which is an attempt to refine privacy. There were a few unfortunate leaks which now must be plugged, and the most horrible one is the current `shouldnt_be_public` module now inside `std::rt`. I think that this either needs a slight reorganization of the runtime, or otherwise it needs to just wait for the external users of these modules to get replaced with their `rt` implementations. Other fixes involve making things pub which should be pub, and otherwise updating error messages that now reference privacy instead of referencing an "unresolved name" (yay!).
2013-09-13Remove all usage of change_dir_lockedAlex Crichton-53/+0
While usage of change_dir_locked is synchronized against itself, it's not synchronized against other relative path usage, so I'm of the opinion that it just really doesn't help in running tests. In order to prevent the problems that have been cropping up, this completely removes the function. All existing tests (except one) using it have been moved to run-pass tests where they get their own process and don't need to be synchronized with anyone else. There is one now-ignored rustpkg test because when I moved it to a run-pass test apparently run-pass isn't set up to have 'extern mod rustc' (it ends up having linkage failures).
2013-08-19Try to fix mac valgrind bot by disabling thread-heavy activities.Graydon Hoare-0/+15
2013-08-19Add externfn macro and correctly label fixed_stack_segmentsNiko Matsakis-0/+2
2013-07-31Move atomically to unstable::sync, and document what it actually does. Close ↵Ben Blum-2/+2
#7872.
2013-07-30std::rt: Change Thread interface to require an explicit joinBrian Anderson-18/+7
Makes it more obvious what's going on
2013-07-26Consolidate raw representations of rust valuesAlex Crichton-0/+1
This moves the raw struct layout of closures, vectors, boxes, and strings into a new `unstable::raw` module. This is meant to be a centralized location to find information for the layout of these values. As safe method, `repr`, is provided to convert a rust value to its raw representation. Unsafe methods to convert back are not provided because they are rarely used and too numerous to write an implementation for each (not much of a common pattern).
2013-07-22std: Remove at_exit API. UnusedBrian Anderson-2/+0
2013-07-22std: Remove unstable::global. UnusedBrian Anderson-1/+0
2013-07-22std: Move change_dir_locked to unstable. #7870Brian Anderson-0/+50
2013-07-22std: Remove weak_task API. UnusedBrian Anderson-1/+0
2013-06-15std::dynamic_lib: start fixing windows implementationPhilipp Brueschweiler-5/+0
The code compiles and runs under windows now, but I couldn't look up any symbol from the current executable (dlopen(NULL)), and calling looked up external function handles doesn't seem to work correctly under windows.
2013-06-12Prototyped a dynamic library facility interfaceSteven Stewart-Gallus-0/+8
2013-05-30Remove unnecessary 'use' formsDaniel Farina-2/+1
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-1/+3
2013-05-25Add basic atomic typesJames Miller-0/+1
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+77
This only changes the directory names; it does not change the "real" metadata names.