| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-11-16 | temp. disable cycle coll. on x86_64 | Niko Matsakis | -0/+2 | |
| 2011-11-14 | Revert "rt: More work on morestack" | Patrick Walton | -23/+6 | |
| This reverts commit ced0d4f15e11e2c74766d1055146946ded3fba51. | ||||
| 2011-11-14 | rt: More work on morestack | Patrick Walton | -6/+23 | |
| 2011-11-13 | rt: Perform task notification before killing the parent task | Brian Anderson | -18/+24 | |
| 2011-11-11 | rt: Take the task lock when dropping port refcounts | Brian Anderson | -20/+15 | |
| Sucks, but otherwise there are races when one task drops the refcount to zero followed by another bumping it again | ||||
| 2011-11-11 | Fix run-fail/spawnfail | Brian Anderson | -2/+8 | |
| Catch the case where a parent is killed immediately before it terminates normally. | ||||
| 2011-11-11 | rt: Add locking invariants to rust_task | Brian Anderson | -0/+8 | |
| 2011-11-11 | rt: Remove rust_chan | Brian Anderson | -9/+10 | |
| 2011-11-10 | rt: Move rust_chan::send to rust_port::send | Brian Anderson | -2/+4 | |
| 2011-10-31 | Stub a __morestack implementation and stack segment allocation. Untested. | Patrick Walton | -0/+26 | |
| 2011-10-20 | Get rid of taskpointer-passing throughout the compiler | Marijn Haverbeke | -3/+2 | |
| Only intrinsics still take a dummy taskptr. We'll have to do some makefile stunts to snapshot a version without taskptrs-in-intrinsics. Issue #466 | ||||
| 2011-10-20 | Remove spawn_wrap and main_wrap kludges | Marijn Haverbeke | -16/+0 | |
| This isn't needed now that our functions are cdecl (and was apparently only still working by accident). Issue #992 | ||||
| 2011-09-26 | rt: Turn on cycle collection at task death; add a test case | Patrick Walton | -1/+3 | |
| 2011-09-26 | rt: Make the logic that moves environments between tasks update the GC alloc ↵ | Patrick Walton | -0/+31 | |
| chain correctly | ||||
| 2011-09-20 | rt: Remove the GC alloc chain | Patrick Walton | -1/+0 | |
| 2011-09-16 | Handle the case where a child task tries to kill a parent while it is dying | Brian Anderson | -1/+1 | |
| Still looks pretty racy | ||||
| 2011-09-14 | Unsupervise tasks before the scheduler kills them. Unblock before yield->fail | Brian Anderson | -0/+3 | |
| 2011-09-14 | Make failure propagation to dead parents work | Brian Anderson | -3/+9 | |
| The failure will basically go 'through' the dead parent and continue propagating the failure (as if the child was reparented). | ||||
| 2011-09-14 | Make linked task failure work again | Brian Anderson | -3/+12 | |
| 2011-09-11 | Remove unused task_exit function | Brian Anderson | -12/+0 | |
| Issue #236 | ||||
| 2011-09-07 | Unwind the stack on task failure | Brian Anderson | -8/+40 | |
| When a task fails, we will throw an exception, then catch it at the bottom of the stack. On Windows we don't do this yet because the exception doesn't propagate correctly. No cleanups yet. Issue #236 | ||||
| 2011-09-07 | Child tasks take a ref to their parents | Brian Anderson | -0/+10 | |
| This is so that when a child dies after the parent, it still holds a valid pointer and can call supervisor->kill() safely. | ||||
| 2011-09-07 | Rewrite spawn yet again | Brian Anderson | -8/+33 | |
| The motivation here is that the bottom of each stack needs to contain a C++ try/catch block so that we can unwind. This is already the case for main, but not spawned tasks. Issue #236 | ||||
| 2011-09-07 | Refactor task failure a bit | Brian Anderson | -0/+3 | |
| Issue #236 | ||||
| 2011-08-20 | Rewrite reap_dead_tasks to never grab the sched lock before a task lock | Brian Anderson | -0/+1 | |
| Doing so contradicts the locking order used everywhere else and causes deadlocks. Un-XFAIL task-perf-spawnalot Closes #854 | ||||
| 2011-08-19 | rt: Remove rustboot's GC infrastructure | Patrick Walton | -88/+3 | |
| 2011-08-17 | Making more of the rust_task structure directly accessible from Rust. | Eric Holk | -7/+6 | |
| 2011-08-16 | rt: Implement obstacks, untested as of yet | Patrick Walton | -1/+2 | |
| 2011-08-16 | New channel-based task status notifications. | Eric Holk | -2/+24 | |
| 2011-08-16 | Removed trans_comm.rs from the compiler. Updating aio/sio to work with the ↵ | Eric Holk | -0/+11 | |
| new chan and port system, started on a networking module for the standard library. | ||||
| 2011-08-15 | Removed spawn and task from the parser. Updated all the tests except for the ↵ | Eric Holk | -2/+9 | |
| benchmarks. | ||||
| 2011-08-15 | Fixed memory accounting and task stack creation bugs. | Eric Holk | -1/+6 | |
| 2011-08-15 | Added a library version of spawn. Before long, we can remove the old version. | Eric Holk | -15/+16 | |
| 2011-08-15 | First step towards port handles. | Eric Holk | -2/+21 | |
| 2011-08-08 | Introduced task handles. | unknown | -0/+2 | |
| This is the new way to refer to tasks in rust-land. Currently all they do is serve as a key to look up the old rust_task structure. Ideally they won't be ref counted, but baby steps. | ||||
| 2011-07-29 | Removing proxies and message queues. | Eric Holk | -9/+0 | |
| 2011-07-28 | Do all runtime calls to getenv at initialization | Brian Anderson | -15/+12 | |
| getenv is not threadsafe and (maybe as a result) it's randomly crashing with CFLAGS=-g and RUST_THREADS=32. Calls from rust code are still on their own. | ||||
| 2011-07-28 | Atomic reference counting for tasks. | Eric Holk | -19/+4 | |
| 2011-07-28 | Made task threads wait instead of sleep, so they can be woken up. This ↵ | Eric Holk | -1/+7 | |
| appears to give us much better parallel performance. Also, commented out one more unsafe log and updated rust_kernel.cpp to compile under g++ | ||||
| 2011-07-28 | Adding a function to stdlib to set the min stack size, for programs | Eric Holk | -1/+2 | |
| that absolutely will not succeed with a large default stack. This should be removed once we have stack grown working. Also updated word-count to succeed under the new test framework. | ||||
| 2011-07-28 | Per-thread scheduling. Closes #682. | Eric Holk | -5/+9 | |
| Tasks are spawned on a random thread. Currently they stay there, but we should add task migration and load balancing in the future. This should drammatically improve our task performance benchmarks. | ||||
| 2011-07-28 | Made root_task no longer special. | Eric Holk | -6/+4 | |
| 2011-07-21 | Bump the stack size and make the RUST_MIN_STACK env variable accept hex values. | Michael Sullivan | -2/+2 | |
| 2011-07-21 | Lots of work on memory tracking and channels. | Eric Holk | -5/+6 | |
| We're trying to get closer to doing correct move semantics for channel operations. This involves a lot of cleanup (such as removing the unused sched parameter from rust_vec constructor) and making circular_buffer kernel_owned. Added tagging for memory allocations. This means we give a string tag to everything we allocate. If we leak something and TRACK_ALLOCATIONS is enabled, then it's much easier now to tell exactly what is leaking. | ||||
| 2011-07-15 | Modify task::join to indicate how the task terminated | Brian Anderson | -1/+3 | |
| This involves sticking yet another field into the task structure | ||||
| 2011-07-14 | Move the responsibility for process failure from tasks to the scheduler | Brian Anderson | -3/+2 | |
| When the root task fails the process fails. Failures on other tasks propagate up the task tree. Failures on non-root tasks without parents just (theoretically) unwind and disappear. | ||||
| 2011-07-13 | Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases. | Graydon Hoare | -3/+3 | |
| 2011-07-13 | Fix compile-command lines in rt. | Graydon Hoare | -1/+1 | |
| 2011-07-13 | Remove obsolete nargs counts from runtime. | Graydon Hoare | -9/+6 | |
| 2011-07-13 | Attempt to correct buggy win32 timer code (causing tinderbox failures). | Graydon Hoare | -2/+2 | |
