| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2013-08-12 | Reorganise Select traits to not expose internal runtime types. Close #5160. ↵ | Ben Blum | -2/+1 | |
| Pending #8215. | ||||
| 2013-08-10 | std: merge Iterator and IteratorUtil | Erick Tryzelaar | -1/+1 | |
| 2013-08-10 | Mass rename of .consume{,_iter}() to .move_iter() | Erick Tryzelaar | -1/+1 | |
| cc #7887 | ||||
| 2013-08-09 | Remove the C++ runtime. Sayonara | Brian Anderson | -31/+2 | |
| 2013-08-09 | std: Fix perf of local allocations in newsched | Brian Anderson | -19/+32 | |
| Mostly optimizing TLS accesses to bring local heap allocation performance closer to that of oldsched. It's not completely at parity but removing the branches involved in supporting oldsched and optimizing pthread_get/setspecific to instead use our dedicated TCB slot will probably make up for it. | ||||
| 2013-08-08 | Enabled workstealing in the scheduler. Previously we had one global work ↵ | toddaaro | -10/+22 | |
| queue shared by each scheduler. Now there is a separate work queue for each scheduler, and work is "stolen" from other queues when it is exhausted locally. | ||||
| 2013-08-07 | std: Allow spawners to specify stack size | Brian Anderson | -4/+3 | |
| 2013-08-07 | std::rt: Pull RUST_MIN_STACK from the environment | Brian Anderson | -0/+1 | |
| 2013-08-05 | Updated std::Option, std::Either and std::Result | Marvin Löbel | -1/+1 | |
| - Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead | ||||
| 2013-08-04 | std::rt: Remove the test for context() | Brian Anderson | -10/+0 | |
| This is no longer testable once newsched is turned on | ||||
| 2013-08-03 | remove obsolete `foreach` keyword | Daniel Micay | -2/+2 | |
| this has been replaced by `for` | ||||
| 2013-08-01 | fixed incorrect handling of returned scheduler option and restructed ↵ | toddaaro | -2/+10 | |
| scheduler functions slightly | ||||
| 2013-08-01 | minor tweaks - unboxed the coroutine so that it is no longer a ~ pointer ↵ | toddaaro | -14/+26 | |
| inside the task struct, and also added an assert to verify that send is never called inside scheduler context as it is undefined (BROKEN) if that happens | ||||
| 2013-08-01 | A major refactoring that changes the way the runtime uses TLS. In the | toddaaro | -59/+51 | |
| old design the TLS held the scheduler struct, and the scheduler struct held the active task. This posed all sorts of weird problems due to how we wanted to use the contents of TLS. The cleaner approach is to leave the active task in TLS and have the task hold the scheduler. To make this work out the scheduler has to run inside a regular task, and then once that is the case the context switching code is massively simplified, as instead of three possible paths there is only one. The logical flow is also easier to follow, as the scheduler struct acts somewhat like a "token" indicating what is active. These changes also necessitated changing a large number of runtime tests, and rewriting most of the runtime testing helpers. Polish level is "low", as I will very soon start on more scheduler changes that will require wiping the polish off. That being said there should be sufficient comments around anything complex to make this entirely respectable as a standalone commit. | ||||
| 2013-08-01 | std: Change `Times` trait to use `do` instead of `for` | blake2-ppc | -1/+1 | |
| Change the former repetition:: for 5.times { } to:: do 5.times { } .times() cannot be broken with `break` or `return` anymore; for those cases, use a numerical range loop instead. | ||||
| 2013-08-01 | auto merge of #8158 : bblum/rust/task-cleanup, r=brson | bors | -0/+2 | |
| r? @brson | ||||
| 2013-08-01 | migrate many `for` loops to `foreach` | Daniel Micay | -3/+3 | |
| 2013-07-31 | Give tasks useful names. #2891 | Ben Blum | -0/+2 | |
| 2013-07-31 | auto merge of #8139 : brson/rust/rm-old-task-apis, r=pcwalton | bors | -1/+3 | |
| This removes a bunch of options from the task builder interface that are irrelevant to the new scheduler and were generally unused anyway. It also bumps the stack size of new scheduler tasks so that there's enough room to run rustc and changes the interface to `Thread` to not implicitly join threads on destruction, but instead require an explicit, and mandatory, call to `join`. | ||||
| 2013-07-30 | std::rt: Change Thread interface to require an explicit join | Brian Anderson | -1/+3 | |
| Makes it more obvious what's going on | ||||
| 2013-07-30 | Implement select() for new runtime pipes. | Ben Blum | -0/+3 | |
| 2013-07-27 | auto merge of #8076 : omasanori/rust/cleanup, r=huonw | bors | -2/+0 | |
| A cleanup suggested on #7922. | ||||
| 2013-07-27 | std::rt: Add start_on_main_thread function | Brian Anderson | -10/+61 | |
| Applications that need to use the GUI can override start and set up the runtime using this function. | ||||
| 2013-07-27 | Remove unnecessary #[path = "***/mod.rs"] lines. | OGINO Masanori | -2/+0 | |
| Fixes #7922. Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com> | ||||
| 2013-07-20 | librustc: Remove `pub extern` and `priv extern` from the language. | Patrick Walton | -2/+2 | |
| Place `pub` or `priv` on individual items instead. | ||||
| 2013-07-20 | Change the HOF context switchers to pass a BlockedTask instead of a ~Task. | Ben Blum | -1/+1 | |
| 2013-07-20 | Remove join_latch | Ben Blum | -3/+0 | |
| 2013-07-20 | Add kill::Death for task death services and use it in Task. | Ben Blum | -1/+1 | |
| 2013-07-20 | Add KillHandle and implement exit code propagation to replace join_latch | Ben Blum | -0/+3 | |
| 2013-07-09 | std: Make os::set_exit_status work with newsched | Brian Anderson | -1/+9 | |
| 2013-07-03 | Merge remote-tracking branch 'mozilla/master' | Brian Anderson | -1/+0 | |
| Conflicts: src/libextra/test.rs src/libstd/at_vec.rs src/libstd/cleanup.rs src/libstd/rt/comm.rs src/libstd/rt/global_heap.rs src/libstd/task/spawn.rs src/libstd/unstable/lang.rs src/libstd/vec.rs src/rt/rustrt.def.in src/test/run-pass/extern-pub.rs | ||||
| 2013-07-01 | Refactored the runtime to view coroutines as a component of tasks, instead ↵ | toddaaro | -7/+6 | |
| of tasks as a component of coroutines. | ||||
| 2013-06-24 | extra: Make test runner compatible with newsched | Brian Anderson | -7/+2 | |
| 2013-06-24 | std::rt: deny(unused_unsafe) | Brian Anderson | -1/+2 | |
| 2013-06-24 | std: Make box annihilator work with newsched | Brian Anderson | -1/+1 | |
| 2013-06-24 | std: Move dynamic borrowck code from unstable::lang to rt::borrowck | Brian Anderson | -0/+3 | |
| 2013-06-21 | std::rt: Support os::args | Brian Anderson | -7/+19 | |
| 2013-06-19 | std::rt: Update GC metadata in init | Brian Anderson | -0/+5 | |
| 2013-06-19 | std::rt: Document and cleanup the run function | Brian Anderson | -10/+30 | |
| 2013-06-19 | std::rt: Correct the numbers of default cores | Brian Anderson | -6/+1 | |
| 2013-06-19 | std::rt: Set the process exit code | Brian Anderson | -5/+19 | |
| 2013-06-18 | std::rt: Turn on multithreaded scheduling | Brian Anderson | -16/+76 | |
| 2013-06-17 | std::rt: Check exchange count on exit | Brian Anderson | -0/+6 | |
| 2013-06-17 | std::rt: Add util mod and num_cpus function | Brian Anderson | -0/+3 | |
| 2013-06-16 | Merge remote-tracking branch 'brson/io' | Brian Anderson | -13/+26 | |
| Conflicts: src/libstd/rt/comm.rs src/libstd/rt/mod.rs src/libstd/rt/sched.rs src/libstd/rt/task.rs src/libstd/rt/test.rs src/libstd/rt/tube.rs src/libstd/rt/uv/uvio.rs src/libstd/rt/uvio.rs src/libstd/task/spawn.rs | ||||
| 2013-06-15 | Merge remote-tracking branch 'brson/io-wip' into io | Brian Anderson | -2/+5 | |
| Conflicts: src/libstd/rt/sched.rs src/libstd/rt/task.rs src/libstd/rt/test.rs src/libstd/task/mod.rs src/libstd/task/spawn.rs | ||||
| 2013-06-13 | std::rt: Change the Task constructors to reflect a tree | Brian Anderson | -2/+2 | |
| 2013-06-13 | std::rt: Add JoinLatch | Brian Anderson | -0/+3 | |
| This is supposed to be an efficient way to link the lifetimes of tasks into a tree. JoinLatches form a tree and when `release` is called they wait on children then signal the parent. This structure creates zombie tasks which currently keep the entire task allocated. Zombie tasks are supposed to be tombstoned but that code does not work correctly. | ||||
| 2013-06-10 | debugged a compiler ICE when merging local::borrow changes into the main io ↵ | toddaaro | -1/+1 | |
| branch and modified the incoming new file lang.rs to be api-compatible | ||||
| 2013-06-04 | std::cell: Modernize constructors | Philipp Brüschweiler | -2/+2 | |
| Part of #3853 | ||||
