Brian Anderson
|
b247de6458
|
rt: Remove lock_held_by_current_thread
|
2012-03-18 17:03:35 -07:00 |
|
Brian Anderson
|
132266b2cb
|
rt: Remove the recursive lock from rust_task_thread
|
2012-03-17 18:44:41 -07:00 |
|
Brian Anderson
|
35e9970e29
|
rt: Ports don't need to ref their tasks
Port lifetime is always bounded by their owning task
|
2012-03-17 17:56:15 -07:00 |
|
Brian Anderson
|
5728a69e78
|
rt: Remove some bogus pthread settings from rust_task_thread
This is all handled by rust_thread, and 'true' isn't even a valid
value to pass to pthread_attr_setdetachestate
|
2012-03-17 17:18:24 -07:00 |
|
Marijn Haverbeke
|
22bef74b55
|
Remove shared tydescs
All tydescs are static now, there's no need to worry about
marshalling them between threads anymore.
|
2012-03-16 15:38:42 +01:00 |
|
Marijn Haverbeke
|
76d07f4056
|
Remove dynastack support from runtime
Issue #1982
|
2012-03-16 00:44:06 +01:00 |
|
Marijn Haverbeke
|
146b61189a
|
Get rid of rust_crate_cache in the runtime
We are no longer generating dynamic tydescs or dicts.
Issue #1982
|
2012-03-16 00:44:06 +01:00 |
|
Brian Anderson
|
561511e628
|
core: Channels are just port ids
|
2012-03-15 11:10:53 -07:00 |
|
Brian Anderson
|
c414b78afe
|
rt: Remove the kernel task table
|
2012-03-15 11:10:52 -07:00 |
|
Brian Anderson
|
1366d65660
|
rt: Remove remaining uses of rust_kernel::get_task_by_id
|
2012-03-15 11:10:52 -07:00 |
|
Brian Anderson
|
b278d675a2
|
rt: Look up ports through a single port table
Instead of a two-level lookup, just use one big table
|
2012-03-15 11:10:52 -07:00 |
|
Marijn Haverbeke
|
d0f5e58e95
|
Zero out dest ptr when port_recv doesn't return a value
|
2012-03-15 15:08:30 +01:00 |
|
Brian Anderson
|
5c23d21e83
|
rt: Remove an incorrect assert in lock_and_signal
This assert doesn't hold because it isn't made while holding the lock
|
2012-03-13 16:12:38 -07:00 |
|
Brian Anderson
|
3de30f4ef2
|
rt: Change alignof to rust_alignof. Remove -Wno-c++11-compat. Closes #1644
|
2012-03-12 18:03:48 -07:00 |
|
Brian Anderson
|
db79f3c0a5
|
rt: Remove arbitrary limit on size of port queue. Closes #1245
|
2012-03-12 13:24:09 -07:00 |
|
Brian Anderson
|
dc0b9f44e2
|
rt: Change the rust_port refcounting scheme to avoid races
Hopefully...
|
2012-03-06 17:14:40 -08:00 |
|
Brian Anderson
|
ee991cae81
|
rt: Add a hack to fix a port detach bug
|
2012-03-05 20:02:25 -08:00 |
|
Brian Anderson
|
958c321083
|
rt: Fix the atomic get_ref_count method to avoid races
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
1347d04bb0
|
rt: Properly block tasks while waiting for port detach
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
4c4a2320eb
|
rt: Make rust_port_detach less contentious
It still utterly dominates some benchmarks with busy waiting, but at least it
doesn't create lock contention while doing so.
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
0a5603cb58
|
rt: Make linked failure less prone to deadlock
Still a mess.
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
cc276fe3c9
|
rt: Be more precise with VALGRIND_MAKE_MEM_UNDEFINED
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
c78da1e170
|
rt: Stop calling prepare_valgrind_stack when it's not needed
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
f057f00300
|
rt: Simplify reap_dead_tasks
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
8efe4b8913
|
rt: Add an assert to the scheduler loop
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
e08f46db68
|
rt: Move receive code into rust_port
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
77295c56c5
|
rt: Simplify the recv interface
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
8e0efce0da
|
rt: Move some code from rust_port_detach into rust_port::detach
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
93fa933a19
|
rt: Move some locking from rust_port to rust_task
|
2012-03-05 19:39:56 -08:00 |
|
Brian Anderson
|
e3ccac8ed3
|
rt: Renome rust_task::lock to port_lock
|
2012-03-05 19:39:55 -08:00 |
|
Brian Anderson
|
fa566ad2fd
|
rt: Make the rust_task_thread lock private
|
2012-03-05 19:39:55 -08:00 |
|
Brian Anderson
|
2465a63a69
|
rt: Move transition from rust_task to rust_task_thread
|
2012-03-05 19:39:55 -08:00 |
|
Brian Anderson
|
237652299e
|
rt: Protect cond and cond_name with the state_lock
|
2012-03-05 19:39:55 -08:00 |
|
Brian Anderson
|
0432030c27
|
rt: Don't take the task lock on state transitions
|
2012-03-05 19:39:55 -08:00 |
|
Brian Anderson
|
b2a075e20d
|
rt: Protect rust_task::state with a lock
|
2012-03-05 19:39:55 -08:00 |
|
Brian Anderson
|
d7298a797b
|
rt: Protect rust_task::killed with a lock
|
2012-03-05 19:39:55 -08:00 |
|
Graydon Hoare
|
e400733e90
|
Extra removal, missed by last commit.
|
2012-03-05 16:02:38 -08:00 |
|
Graydon Hoare
|
6c87c34277
|
Remove dead code from rt (debug_obj, rust_obj, rust_closure, rust_box_obj, rust_vtable)
|
2012-03-05 15:50:11 -08:00 |
|
Brian Anderson
|
3a4c96a196
|
rt: Remove virtual methods from memory_region, rust_srv
|
2012-03-05 14:47:24 -08:00 |
|
Brian Anderson
|
38b2b74413
|
rt: Move RUST_POISON_ON_FREE into rust_env
|
2012-03-02 20:13:52 -08:00 |
|
Brian Anderson
|
ed7d25bb6d
|
rt: Checking port_table.is_empty() requires a lock
|
2012-03-02 17:10:14 -08:00 |
|
Brian Anderson
|
04d9cc18a5
|
rt: Protect rust_task::supervisor with a lock
|
2012-03-02 16:33:33 -08:00 |
|
Brian Anderson
|
f4ce965ce7
|
rt: Port ref counts are protected by the task lock. Ick.
|
2012-03-02 16:33:33 -08:00 |
|
Brian Anderson
|
14306756b4
|
rt: Always delete task stacks on the task thread
There's not a real race here, but it makes helgrind happy and is arguably
less prone to future errrors.
|
2012-03-02 15:21:59 -08:00 |
|
Niko Matsakis
|
def72bda47
|
retool inline encoding to handle methods, fix tests
|
2012-03-02 06:47:25 -08:00 |
|
Brian Anderson
|
96f565492d
|
rt: Make fields of rust_task_thread private where possible
|
2012-03-01 21:41:11 -08:00 |
|
Brian Anderson
|
b6c57dbba2
|
rt: rust_task_thread isn't ref counted
|
2012-03-01 21:19:12 -08:00 |
|
Brian Anderson
|
084a699a7a
|
rt: Remove vec_append.ll
This looks like just a random snippet of llasm.
|
2012-03-01 18:20:40 -08:00 |
|
Brian Anderson
|
5df44bd066
|
rt: Remove rust_kernel::live_tasks. Unused
|
2012-03-01 14:53:20 -08:00 |
|
Niko Matsakis
|
7d0958f70f
|
add the ability to snag the frame so we can verify that we are inlining
|
2012-02-29 11:54:47 -08:00 |
|