| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-02-14 | rt: Maintain stack ptrs correctly when returning from stack switches | Brian Anderson | -0/+6 | |
| 2012-02-09 | rt: Disable some expensive asserts | Brian Anderson | -33/+8 | |
| 2012-02-09 | rt: Inline everything on the C-stack-switching path | Brian Anderson | -0/+103 | |
| 2012-02-09 | rt: Add upcall_call_shim_on_rust_stack | Brian Anderson | -0/+2 | |
| 2012-02-09 | rt: Use rust_task_thread's C-stack pool for native calls | Brian Anderson | -0/+11 | |
| 2012-02-09 | rt: Add rust_task::call_on_c_stack | Brian Anderson | -0/+2 | |
| 2012-02-09 | rt: Move some stack manipulation functions into rust_task | Brian Anderson | -0/+6 | |
| 2012-02-09 | rt: Rename new_stack to next_stack, del_stack to prev_stack | Brian Anderson | -2/+2 | |
| 2012-02-09 | rt: Remove rust_task::rust_sp | Brian Anderson | -2/+0 | |
| 2012-02-09 | rt: Remove rust_task_user struct | Brian Anderson | -12/+6 | |
| 2012-02-09 | rt: Add a function for configuring task notification | Brian Anderson | -0/+2 | |
| 2012-02-09 | rt: Begin moving stack-building functions to rust_stack.cpp | Brian Anderson | -12/+1 | |
| 2012-02-08 | rt: Change the lifecycle of tasks and schedulers for various reasons | Brian Anderson | -2/+5 | |
| This is in preparation for giving schedulers their own life cycle separate from the kernel. Tasks must be deleted before their scheduler thread, so we can't let the scheduler exit before all its tasks have been cleaned up. In this scheme, the scheduler will unregister tasks with the kernel when they are reaped, then drop their ref on the task (there may still be others). When the task ref count hits zero, the task will request to be unregistered from the scheduler, which is responsible for deleting the task. Instead of having the kernel tell the scheduler to exit, let the scheduler decide when to exit. For now it will exit when all of its tasks are unregistered. | ||||
| 2012-02-03 | rt: Add a field to rust_task to hold its scheduler | Brian Anderson | -1/+1 | |
| 2012-02-03 | rt: Rename rust_scheduler to rust_task_thread | Brian Anderson | -2/+2 | |
| 2012-02-03 | Remove experimental GC code | Marijn Haverbeke | -2/+2 | |
| It's been sitting unused long enough to have bitrotted completely. | ||||
| 2012-02-02 | rt: Remove rust_task::can_schedule. Does nothing | Brian Anderson | -2/+0 | |
| 2012-02-02 | rt: Remove running_on flag. Does nothing | Brian Anderson | -4/+0 | |
| 2012-02-02 | rt: Remove task pinning. Does nothing | Brian Anderson | -5/+0 | |
| 2012-02-02 | rt: Rename task_sleep intrinsic to task_yield. Remove usec param | Brian Anderson | -2/+2 | |
| 2012-02-02 | rt: Remove yield timers | Brian Anderson | -3/+0 | |
| 2012-02-01 | make boxes self-describing (fixes #1493)" (take 2) | Niko Matsakis | -7/+3 | |
| this will be used to generate a new snapshot. | ||||
| 2012-02-01 | Revert "make boxes self-describing (fixes #1493)" until a new | Niko Matsakis | -3/+7 | |
| snapshot is prepared. | ||||
| 2012-02-01 | make boxes self-describing (fixes #1493) | Niko Matsakis | -7/+3 | |
| 2012-01-29 | rt: Make the initial segment of the main task's stack 1MB | Brian Anderson | -1/+2 | |
| This is a trick to fool microbenchmarks. Closes #1681 | ||||
| 2012-01-11 | rt: Add RUST_MAX_STACK env var with 8MB default | Brian Anderson | -0/+3 | |
| Closes #1489 | ||||
| 2012-01-09 | add rust_task_is_unwinding predicate and do not kill if already unwinding | Niko Matsakis | -2/+4 | |
| 2012-01-06 | fix how we walk functions to match new closure fmt | Niko Matsakis | -13/+1 | |
| 2012-01-06 | rewrite task tests | Niko Matsakis | -2/+13 | |
| 2012-01-06 | simplify task impl | Niko Matsakis | -5/+3 | |
| 2011-12-20 | Revert "wip" | Brian Anderson | -1/+0 | |
| This reverts commit aeadc6269ef76f4425a49d892ceac7ea311ef5c1. | ||||
| 2011-12-20 | wip | Brian Anderson | -0/+1 | |
| 2011-12-20 | rt: Remove rust_task::grow. Obsolete | Brian Anderson | -1/+0 | |
| 2011-12-20 | rt: Add a canary value to the end of every stack | Brian Anderson | -0/+1 | |
| Check it on upcall entry and exit, and on stack deletion | ||||
| 2011-12-18 | rt: Get rid of the rethrow in upcall_fail | Brian Anderson | -0/+1 | |
| Throwing in upcall_fail ends up running lots of code in the red zone. To avoid it we have the personality function figure out which stack it's on and switch as needed. | ||||
| 2011-12-17 | rt: Cache an extra stack segment to avoid bad behavior at stack boundaries | Brian Anderson | -0/+1 | |
| 2011-12-06 | rt: Rename stk_seg.limit to stk_seg.end | Brian Anderson | -1/+1 | |
| rust_task is using the word limit it two ways, so one has to change. | ||||
| 2011-12-06 | rt: Various tweaks to make __morestack unwinding work on linux | Brian Anderson | -0/+1 | |
| When unwinding through __morestack the stack limit in the TLS is invalidated and must be reset. Instead of actually landing at __morestack we're just going to make all our Rust landing pads call upcall_reset_stack_limit, which will find the stack segment that corresponds to the current stack pointer and put the limit in the TLS. Also massively expand the stack segment red zone to make more room for the dynamic linker. Will fix in the future. | ||||
| 2011-12-01 | rt: Refactor record_sp into task::record_stack_limit | Brian Anderson | -0/+1 | |
| 2011-11-30 | rt: Reorganize stack growth code | Brian Anderson | -0/+3 | |
| 2011-11-30 | rt: Remove the stack pointer field of stk_seg | Brian Anderson | -1/+0 | |
| 2011-11-22 | rt: Make __morestack (without unwinding) work on 32-bit linux | Brian Anderson | -0/+1 | |
| 2011-11-18 | rt: Remove fail calls from rust_task::yield | Brian Anderson | -1/+1 | |
| 2011-11-18 | rt: Remove task::on_wakeup. Unused | Brian Anderson | -9/+0 | |
| 2011-11-18 | rt: Remove rust_task::yield. Unused | Brian Anderson | -3/+0 | |
| 2011-11-16 | rt: Remove rust_task::notify_tasks_wating_to_join | Brian Anderson | -6/+0 | |
| 2011-11-16 | fix alignment for chan_handle structs; rust equiv is translated | Niko Matsakis | -1/+1 | |
| to char[16], not struct{long,long} | ||||
| 2011-11-16 | enum does not have a size consistent with a tag, so use unsigned long instead | Niko Matsakis | -4/+3 | |
| 2011-11-13 | rt: Perform task notification before killing the parent task | Brian Anderson | -0/+2 | |
| 2011-11-11 | rt: Take the task lock when dropping port refcounts | Brian Anderson | -2/+0 | |
| Sucks, but otherwise there are races when one task drops the refcount to zero followed by another bumping it again | ||||
