summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
AgeCommit message (Collapse)AuthorLines
2012-04-09rt: Don't limit the amount of stack available during unwinding. Closes #2144Brian Anderson-1/+11
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon Morton-5/+4
Many changes to code structure are included: - removed TIME_SLICE_IN_MS - removed sychronized_indexed_list - removed region_owned - kernel_owned move to kernel.h, task_owned moved to task.h - global configs moved to rust_globals.h - changed #pragma once to standard guard in rust_upcall.h - got rid of memory.h
2012-04-02rt: cleanup passing around of rust_envJon Morton-1/+1
2012-04-01remove rust_srvJon Morton-1/+1
2012-04-01replace assertion macros with plain assertsJon Morton-18/+15
2012-04-01Merge remote-tracking branch 'brson/mainthread'Brian Anderson-35/+36
Conflicts: src/rt/rust_sched_loop.cpp src/rt/rust_shape.cpp src/rt/rust_task.cpp
2012-03-31rt: Fix whitespaceBrian Anderson-3/+5
2012-03-31Revert "rt: Remove lock_held_by_current_thread"Brian Anderson-0/+1
Adds back the ability to make assertions about locks, but only under the --enable-debug configuration This reverts commit b247de64583e2ab527088813ba9192824554e801. Conflicts: src/rt/rust_sched_loop.cpp
2012-03-31rt: Rename rust_task_thread to rust_sched_loopBrian Anderson-35/+36
This class no longer represents a thread; it just schedules tasks.
2012-03-29rt: For now, only run the box annihilator after task failureBrian Anderson-6/+14
2012-03-29rustc: Only invoke when there are cleanupsBrian Anderson-1/+0
2012-03-29rt: Free all outstanding boxes at task deathBrian Anderson-0/+5
2012-03-28Tidy up multiple declarations and STDC_FOO_MACROS guards in headers.Graydon Hoare-1/+0
2012-03-21rt: Add a task field to stk_seg and populate itBrian Anderson-0/+1
2012-03-21rt: Reset the stack limit after catching an exceptionBrian Anderson-0/+4
This wasn't causing problems but it looked wrong
2012-03-21rt: Inline a bunch of stack switching codeBrian Anderson-138/+0
2012-03-21rt: Swap the definition of stk_seg::next and prevBrian Anderson-27/+27
2012-03-21rt: Don't switch to the C stack on the upcall_new_stack fast pathBrian Anderson-1/+32
2012-03-21rt: Don't swatch stacks during upcall_del_stackBrian Anderson-44/+37
2012-03-18rt: Use an enum to represent the task stateBrian Anderson-10/+10
2012-03-18rt: Remove lock_held_by_current_threadBrian Anderson-1/+0
2012-03-16Remove shared tydescsMarijn Haverbeke-1/+0
All tydescs are static now, there's no need to worry about marshalling them between threads anymore.
2012-03-16Remove dynastack support from runtimeMarijn Haverbeke-1/+0
Issue #1982
2012-03-16Get rid of rust_crate_cache in the runtimeMarijn Haverbeke-11/+0
We are no longer generating dynamic tydescs or dicts. Issue #1982
2012-03-15core: Channels are just port idsBrian Anderson-3/+3
2012-03-15rt: Look up ports through a single port tableBrian Anderson-45/+9
Instead of a two-level lookup, just use one big table
2012-03-05rt: Make rust_port_detach less contentiousBrian Anderson-1/+0
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-18/+24
Still a mess.
2012-03-05rt: Be more precise with VALGRIND_MAKE_MEM_UNDEFINEDBrian Anderson-1/+17
2012-03-05rt: Stop calling prepare_valgrind_stack when it's not neededBrian Anderson-1/+0
2012-03-05rt: Move some locking from rust_port to rust_taskBrian Anderson-1/+1
2012-03-05rt: Renome rust_task::lock to port_lockBrian Anderson-7/+7
2012-03-05rt: Make the rust_task_thread lock privateBrian Anderson-2/+0
2012-03-05rt: Move transition from rust_task to rust_task_threadBrian Anderson-20/+10
2012-03-05rt: Protect cond and cond_name with the state_lockBrian Anderson-12/+12
2012-03-05rt: Don't take the task lock on state transitionsBrian Anderson-6/+0
2012-03-05rt: Protect rust_task::state with a lockBrian Anderson-2/+8
2012-03-05rt: Protect rust_task::killed with a lockBrian Anderson-4/+11
2012-03-02rt: Checking port_table.is_empty() requires a lockBrian Anderson-1/+6
2012-03-02rt: Protect rust_task::supervisor with a lockBrian Anderson-4/+10
2012-03-02rt: Always delete task stacks on the task threadBrian Anderson-7/+10
There's not a real race here, but it makes helgrind happy and is arguably less prone to future errrors.
2012-02-27rt: Don't zero new stacksBrian Anderson-2/+2
2012-02-24add an option to the final cc so that it prints out/logs unreclaimed ptrsNiko Matsakis-1/+1
2012-02-24Revert "rt: Cut the red zone to 10K on mac"Brian Anderson-2/+2
This reverts commit cb7022cfc20b89947ff3fa96d4617f9fe64d2f3e.
2012-02-23rt: Cut the red zone to 10K on macBrian Anderson-2/+2
2012-02-23rt: Cut the red zone to 2K on linuxBrian Anderson-2/+2
2012-02-22rt: Cut the red zone to 4K on linuxBrian Anderson-2/+2
2012-02-22rt: Switch to the C stack in reset_stack_limitBrian Anderson-5/+22
2012-02-22rt: Stop logging on the Rust stack. Closes #1478Brian Anderson-1/+5
2012-02-14rt: Don't kill tasks while they are in a callback from CBrian Anderson-3/+9