about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
AgeCommit message (Collapse)AuthorLines
2012-07-12Rename runtime *_locked() and *_unlocked() fns to *_inner() (closes #2864)Ben Blum-15/+15
2012-07-11Unify state_lock + kill_lock -> lifecycle_lock (#2787)Ben Blum-37/+30
2012-07-11Linked failure in task.rs instead of rust_task.cpp (#1868, #1189)Ben Blum-30/+5
2012-07-10Handle failure conditions correctly in pipes.Eric Holk-4/+2
2012-07-06Pipes sleep and wake properly.Eric Holk-3/+50
2012-07-05make disallow_kill an int for nested unkillables (closes #2782)Ben Blum-4/+5
2012-06-28move reset_stack_limit off C stack (closes #2679)Ben Blum-13/+5
2012-06-28rt: Add task_local_data and related builtin calls (Closes #2680)Ben Blum-0/+12
2012-06-27Change 'upcall fail' to 'task failed at', close #2678.Graydon Hoare-3/+1
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-10/+12
2012-06-18Some cleanup in the runtime.Michael Sullivan-1/+1
2012-05-31rt: Refactor task failure to go through rust_task_failBrian Anderson-0/+29
This is the place to but a breakpoint. We will raise SIGINT here to break into the debugger.
2012-05-30rt: Remove upcall_shared_malloc/free/reallocBrian Anderson-2/+3
2012-05-15rt: Make task killing synchronization possibly more correctBrian Anderson-1/+3
I could not come up with a test but this looks better to me.
2012-05-15core: Add task::unkillableBrian Anderson-1/+12
2012-05-15make poison-on-free work, disable copying if borrowck is enabledNiko Matsakis-1/+1
2012-04-09rt: Fix typoBrian Anderson-1/+1
2012-04-09rt: Allow 2x normal stack during unwinding. Closes #2173Brian Anderson-12/+12
Allows room for destructors to run without allowing the stack to grow forever.
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