Brian Anderson
564d8e09c7
rt: Fix typo
2012-04-09 16:26:23 -07:00
Brian Anderson
596376ea55
rt: Allow 2x normal stack during unwinding. Closes #2173
...
Allows room for destructors to run without allowing the stack to grow forever.
2012-04-09 16:03:06 -07:00
Brian Anderson
b42c6d07dc
rt: Don't limit the amount of stack available during unwinding. Closes #2144
2012-04-09 15:36:45 -07:00
Jon Morton
632a4c9326
Refactor includes structure, getting rid of rust_internal.h
...
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-03 16:02:38 -07:00
Jon Morton
bcb9269d84
rt: cleanup passing around of rust_env
2012-04-02 03:11:58 -05:00
Jon Morton
128a8b6ed5
remove rust_srv
2012-04-01 22:18:40 -05:00
Jon Morton
413994ea3e
replace assertion macros with plain asserts
2012-04-01 21:14:16 -05:00
Brian Anderson
e78396850d
Merge remote-tracking branch 'brson/mainthread'
...
Conflicts:
src/rt/rust_sched_loop.cpp
src/rt/rust_shape.cpp
src/rt/rust_task.cpp
2012-04-01 00:15:04 -07:00
Brian Anderson
21064637ed
rt: Fix whitespace
2012-03-31 23:12:06 -07:00
Brian Anderson
c8dc6fcb4c
Revert "rt: Remove lock_held_by_current_thread"
...
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-31 19:51:29 -07:00
Brian Anderson
243790836a
rt: Rename rust_task_thread to rust_sched_loop
...
This class no longer represents a thread; it just schedules tasks.
2012-03-31 19:51:29 -07:00
Brian Anderson
5747fe7a2c
rt: For now, only run the box annihilator after task failure
2012-03-29 16:43:18 -07:00
Brian Anderson
7f9ed39040
rustc: Only invoke when there are cleanups
2012-03-29 16:43:18 -07:00
Brian Anderson
3a7a408386
rt: Free all outstanding boxes at task death
2012-03-29 16:43:18 -07:00
Graydon Hoare
2aaca455b9
Tidy up multiple declarations and STDC_FOO_MACROS guards in headers.
2012-03-28 14:26:51 -07:00
Brian Anderson
08f783ff10
rt: Add a task field to stk_seg and populate it
2012-03-21 19:10:32 -07:00
Brian Anderson
ba322b0a70
rt: Reset the stack limit after catching an exception
...
This wasn't causing problems but it looked wrong
2012-03-21 19:10:31 -07:00
Brian Anderson
b78af4f7c4
rt: Inline a bunch of stack switching code
2012-03-21 19:10:31 -07:00
Brian Anderson
d5968d9f38
rt: Swap the definition of stk_seg::next and prev
2012-03-21 19:10:31 -07:00
Brian Anderson
6115b13dfc
rt: Don't switch to the C stack on the upcall_new_stack fast path
2012-03-21 19:10:31 -07:00
Brian Anderson
8a145a601e
rt: Don't swatch stacks during upcall_del_stack
2012-03-21 19:10:31 -07:00
Brian Anderson
05466c6138
rt: Use an enum to represent the task state
2012-03-18 17:41:56 -07:00
Brian Anderson
b247de6458
rt: Remove lock_held_by_current_thread
2012-03-18 17:03:35 -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
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
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
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
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
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
Brian Anderson
7e9aa6c3c2
rt: Don't zero new stacks
2012-02-27 16:13:51 -08:00
Niko Matsakis
5ee89f3f2a
add an option to the final cc so that it prints out/logs unreclaimed ptrs
2012-02-24 20:46:27 -08:00
Brian Anderson
155a67eae7
Revert "rt: Cut the red zone to 10K on mac"
...
This reverts commit cb7022cfc20b89947ff3fa96d4617f9fe64d2f3e.
2012-02-24 12:26:06 -08:00
Brian Anderson
cb7022cfc2
rt: Cut the red zone to 10K on mac
2012-02-23 19:42:59 -08:00
Brian Anderson
7a6498668f
rt: Cut the red zone to 2K on linux
2012-02-23 00:23:22 -08:00
Brian Anderson
cd381333b9
rt: Cut the red zone to 4K on linux
2012-02-22 23:50:47 -08:00
Brian Anderson
b5c7997ef5
rt: Switch to the C stack in reset_stack_limit
2012-02-22 23:50:47 -08:00