summary refs log tree commit diff
path: root/src/rt/rust_task.h
AgeCommit message (Collapse)AuthorLines
2012-03-22rt: Run resource destructors during cycle collectionBrian Anderson-0/+4
2012-03-21rt: Fix valgrind stack hintsBrian Anderson-15/+5
2012-03-21rt: Add rust_task::get_task_from_tcbBrian Anderson-6/+35
2012-03-21rt: Rename record_sp to record_sp_limitBrian Anderson-2/+2
2012-03-21rt: Inline a bunch of stack switching codeBrian Anderson-0/+143
2012-03-21rt: Don't switch to the C stack on the upcall_new_stack fast pathBrian Anderson-1/+4
2012-03-21rt: Don't swatch stacks during upcall_del_stackBrian Anderson-1/+2
2012-03-18rt: Use an enum to represent the task stateBrian Anderson-5/+5
2012-03-16Remove dynastack support from runtimeMarijn Haverbeke-3/+0
Issue #1982
2012-03-16Get rid of rust_crate_cache in the runtimeMarijn Haverbeke-2/+0
We are no longer generating dynamic tydescs or dicts. Issue #1982
2012-03-15core: Channels are just port idsBrian Anderson-8/+2
2012-03-15rt: Look up ports through a single port tableBrian Anderson-10/+0
Instead of a two-level lookup, just use one big table
2012-03-05rt: Make rust_port_detach less contentiousBrian Anderson-4/+4
It still utterly dominates some benchmarks with busy waiting, but at least it doesn't create lock contention while doing so.
2012-03-05rt: Make linked failure less prone to deadlockBrian Anderson-2/+3
Still a mess.
2012-03-05rt: Renome rust_task::lock to port_lockBrian Anderson-2/+2
2012-03-05rt: Move transition from rust_task to rust_task_threadBrian Anderson-2/+5
2012-03-05rt: Protect cond and cond_name with the state_lockBrian Anderson-3/+7
2012-03-05rt: Protect rust_task::state with a lockBrian Anderson-1/+5
2012-03-05rt: Protect rust_task::killed with a lockBrian Anderson-0/+2
2012-03-02rt: Protect rust_task::supervisor with a lockBrian Anderson-1/+3
2012-03-02rt: Always delete task stacks on the task threadBrian Anderson-0/+1
There's not a real race here, but it makes helgrind happy and is arguably less prone to future errrors.
2012-02-22rt: Switch to the C stack in reset_stack_limitBrian Anderson-0/+2
2012-02-16rt: Add rust_port_select functionBrian Anderson-0/+5
2012-02-14rt: Don't allocate a C stack for tasks that already have oneBrian Anderson-0/+1
2012-02-14rt: Don't kill tasks while they are in a callback from CBrian Anderson-2/+15
2012-02-14rt: Maintain stack ptrs correctly when returning from stack switchesBrian Anderson-0/+6
2012-02-09rt: Disable some expensive assertsBrian Anderson-33/+8
2012-02-09rt: Inline everything on the C-stack-switching pathBrian Anderson-0/+103
2012-02-09rt: Add upcall_call_shim_on_rust_stackBrian Anderson-0/+2
2012-02-09rt: Use rust_task_thread's C-stack pool for native callsBrian Anderson-0/+11
2012-02-09rt: Add rust_task::call_on_c_stackBrian Anderson-0/+2
2012-02-09rt: Move some stack manipulation functions into rust_taskBrian Anderson-0/+6
2012-02-09rt: Rename new_stack to next_stack, del_stack to prev_stackBrian Anderson-2/+2
2012-02-09rt: Remove rust_task::rust_spBrian Anderson-2/+0
2012-02-09rt: Remove rust_task_user structBrian Anderson-12/+6
2012-02-09rt: Add a function for configuring task notificationBrian Anderson-0/+2
2012-02-09rt: Begin moving stack-building functions to rust_stack.cppBrian Anderson-12/+1
2012-02-08rt: Change the lifecycle of tasks and schedulers for various reasonsBrian 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-03rt: Add a field to rust_task to hold its schedulerBrian Anderson-1/+1
2012-02-03rt: Rename rust_scheduler to rust_task_threadBrian Anderson-2/+2
2012-02-03Remove experimental GC codeMarijn Haverbeke-2/+2
It's been sitting unused long enough to have bitrotted completely.
2012-02-02rt: Remove rust_task::can_schedule. Does nothingBrian Anderson-2/+0
2012-02-02rt: Remove running_on flag. Does nothingBrian Anderson-4/+0
2012-02-02rt: Remove task pinning. Does nothingBrian Anderson-5/+0
2012-02-02rt: Rename task_sleep intrinsic to task_yield. Remove usec paramBrian Anderson-2/+2
2012-02-02rt: Remove yield timersBrian Anderson-3/+0
2012-02-01make boxes self-describing (fixes #1493)" (take 2)Niko Matsakis-7/+3
this will be used to generate a new snapshot.
2012-02-01Revert "make boxes self-describing (fixes #1493)" until a newNiko Matsakis-3/+7
snapshot is prepared.
2012-02-01make boxes self-describing (fixes #1493)Niko Matsakis-7/+3
2012-01-29rt: Make the initial segment of the main task's stack 1MBBrian Anderson-1/+2
This is a trick to fool microbenchmarks. Closes #1681