Patrick Walton
|
28d43678b6
|
Add a virtual destructor to rust_thread in sync.h, to quiet the compiler
|
2010-10-20 10:32:36 -07:00 |
|
Patrick Walton
|
5177898db1
|
Use new and delete instead of alloca(). Should put out the burning tinderbox.
|
2010-10-11 17:11:59 -07:00 |
|
Patrick Walton
|
94cec74096
|
Try to print backtraces on failure
|
2010-10-11 16:40:18 -07:00 |
|
Patrick Walton
|
246e72b0fb
|
Use RTLD_GLOBAL when loading libraries. This is needed to get LLVM working on the Mac in rustc.
|
2010-10-05 11:37:46 -07:00 |
|
Graydon Hoare
|
2e0d075407
|
Fix bug in bind thunks failing top drop unbound args; add test and adjust rustc to use bind again.
|
2010-09-30 17:39:37 -07:00 |
|
Graydon Hoare
|
b970563fe3
|
Patchwork of attempted fixes to effect system and gc system; eventually give up and disable it entirely in the runtime. Will need extensive reworking.
|
2010-09-29 17:22:13 -07:00 |
|
Michael Bebenita
|
1bd331b7aa
|
Fixed deadlock caused by the message pump not being notified of new message sends.
|
2010-09-16 00:51:03 -07:00 |
|
Michael Bebenita
|
a493350eb5
|
Cleanup, refactoring, and some runtime tests.
|
2010-09-10 14:38:31 -07:00 |
|
Michael Bebenita
|
f985fded3e
|
Added lock_and_signal::signal_all(), and made the rust_kernel::join() use wait instead of yield.
|
2010-09-10 14:38:31 -07:00 |
|
Michael Bebenita
|
c877f31730
|
Fixed lost signal notifications.
|
2010-09-08 22:20:31 -07:00 |
|
Michael Bebenita
|
743ca289b6
|
Cache task handles.
|
2010-09-08 21:25:16 -07:00 |
|
Graydon Hoare
|
616b7afb72
|
Tidy up the sync dir, remove dead or mis-designed code in favour of OS primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin.
|
2010-09-08 19:13:49 -07:00 |
|
Graydon Hoare
|
13d6f87431
|
XFAIL many.rs since it crashes on win32, and add a time-slice sleep to the kernel message loop to get tests to finish in a sane time.
|
2010-09-08 15:48:18 -07:00 |
|
Michael Bebenita
|
388f8ce520
|
Cleaned up locking in the kernel.
|
2010-09-08 15:17:09 -07:00 |
|
Michael Bebenita
|
7f6d8b95bd
|
Fixed race in the rust kernel.
|
2010-09-07 23:37:51 -07:00 |
|
Michael Bebenita
|
de611a3090
|
Lots of design changes around proxies and message passing. Made it so that domains can only talk to other domains via handles, and with the help of the rust_kernel.
|
2010-09-07 18:44:12 -07:00 |
|
Michael Bebenita
|
a6aebdaedd
|
Started work on a framework for writing runtime tests, added some simple test cases.
|
2010-09-07 18:41:08 -07:00 |
|
Michael Bebenita
|
5375b39160
|
Small updates to util classes.
|
2010-09-07 18:41:08 -07:00 |
|
Michael Bebenita
|
b03812af2b
|
Change signature of array_list::pop().
|
2010-09-07 18:41:08 -07:00 |
|
Michael Bebenita
|
6b7ba50e17
|
Added "new" inline operators to memory regions.
|
2010-09-07 18:41:08 -07:00 |
|
Michael Bebenita
|
066c14009b
|
Added a .cpp file for rust_proxy to help avoid .h file dependencies in the future.
|
2010-09-07 18:41:08 -07:00 |
|
Michael Bebenita
|
9b74129a4f
|
Added a thread utility class to factor out operations on threads.
|
2010-09-07 18:41:07 -07:00 |
|
Michael Bebenita
|
f8ff013e3c
|
Added a few utility classes, cleaned up the include order of .h files, and started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
|
2010-09-07 18:41:07 -07:00 |
|
Roy Frostig
|
cf62b54028
|
Add a little pointer-cast helper to dbg.
|
2010-09-06 23:24:01 -07:00 |
|
Roy Frostig
|
4e355aebf7
|
When vec growth results in a newly allocated (extended) buffer, copy existing elements over via element-wise copy, not flat memcpy. Introduce new vec growth glue to achieve this.
|
2010-09-03 16:18:32 -07:00 |
|
Graydon Hoare
|
b90e6b93c1
|
Whitespace churn.
|
2010-08-31 14:36:51 -07:00 |
|
Roy Frostig
|
47e86a05ae
|
Fix rust_vec constructor assertion failure caused by slow path of upcall_vec_grow. Add testcase.
|
2010-08-31 13:01:57 -07:00 |
|
Michael Bebenita
|
64ff82ecf9
|
Implemented an lock free queue based on this paper http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf, the "lock free queue" we had before wasn't lock free at all.
|
2010-08-24 21:07:14 -07:00 |
|
Roy Frostig
|
7ccdb88374
|
Add support in dbg.debug_obj for printing the obj body.
|
2010-08-24 19:49:39 -07:00 |
|
Roy Frostig
|
d9e3fb2c5d
|
Add std.dbg module for inspecting rust values in memory.
|
2010-08-24 18:37:42 -07:00 |
|
Patrick Walton
|
fac28ad42f
|
Disable task-growing logic for now until #151 is fixed
|
2010-08-20 11:05:06 -07:00 |
|
Roy Frostig
|
4a7aa75b5d
|
Make _io.buf_reader read more than 0 bytes at a time.
|
2010-08-19 17:37:22 -07:00 |
|
Michael Bebenita
|
a4b8c74f9f
|
Added simple deadlock detection in the scheduler.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
2c1ec6771b
|
Lots of changes around memory managment in the Runtime. Added memory regions and fixed race caused by calling rust_srv::malloc() from multiple threads when sending messages.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
9fa2b53d8c
|
Add a "special" rust_log flag to be used for debugging in cases where the full log output prevents races from occurring.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
e20752de68
|
Added labels to blocking conditions.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
7ff39ea448
|
Fixed deadlock by removing channel flushing.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
6e9f0f952d
|
Made the lock_free_queue lock (temporarily, until fixed).
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
5d98a311e4
|
Putting out the burning tree on Windows. Turns out you can completely starve threads by not yielding on windows/vmware, really weird.
|
2010-08-16 18:44:26 -07:00 |
|
Michael Bebenita
|
14f5b5750d
|
Un-xfailed working tests.
|
2010-08-16 15:05:57 -07:00 |
|
Michael Bebenita
|
b40a9fa787
|
Pulled rust_srv in its own file. Some cleanup, and added varargs to assertion macros.
|
2010-08-16 15:05:57 -07:00 |
|
Roy Frostig
|
73ee16b1a4
|
A little tidy-up that should have gone in with 4e376852e709844d67f94430d9dc954d5be722b4.
|
2010-08-12 19:20:29 -07:00 |
|
Roy Frostig
|
445d3fe39c
|
Add vec debugging utility to _vec module.
|
2010-08-12 13:11:49 -07:00 |
|
Michael Bebenita
|
988695a96c
|
Added support for task sleeping in the scheduler.
|
2010-08-11 21:24:04 -07:00 |
|
Roy Frostig
|
22719e45b8
|
Remove commented-out code that slipped in during last commit.
|
2010-08-11 16:10:44 -07:00 |
|
Michael Bebenita
|
74e12fcef6
|
Ignore upcall_flush for channels that are disassociated from ports. This makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed.
|
2010-08-11 16:08:45 -07:00 |
|
Michael Bebenita
|
d584de7a37
|
Made ref_count a word sized value.
|
2010-08-11 16:08:45 -07:00 |
|
Michael Bebenita
|
ff93e5e196
|
Print domain and task names in log prefix.
|
2010-08-11 16:08:45 -07:00 |
|
Roy Frostig
|
f307688bf4
|
Add native vec[u8] to str converter. Put in workaround for leak in str to vec[u8] converter. Add testcase exercising both. Drive-by fix a potential array-out-of-bounds write on rust_str buffers.
|
2010-08-11 16:06:45 -07:00 |
|
Graydon Hoare
|
dbe8760af3
|
Merge commit 'jyasskin/work'
Conflicts:
src/rt/rust_dom.cpp
src/rt/rust_upcall.cpp
|
2010-08-10 13:26:00 -07:00 |
|