aboutsummaryrefslogtreecommitdiff
path: root/src/rt
Commit message (Collapse)AuthorAgeFilesLines
* Don't attempt to wake tasks that aren't blocked.Brian Anderson2011-01-031-1/+1
| | | | | | It's possible for a supervised task to kill and wake its supervising task then immediately try to wake it again if the supervising task has joined the supervised. This is the easiest way to prevent that.
* Add std.dbg.trap(str msg) for help debugging.Graydon Hoare2010-12-311-0/+8
|
* Make failing to resolve a symbol an errorPatrick Walton2010-12-131-1/+1
|
* Make the ugly detailed leak-spray on rustc failures optional.Graydon Hoare2010-11-302-7/+22
|
* Update frame logic to be compatible with SysV x86 ABI. Improves diagnostics.Graydon Hoare2010-11-161-12/+16
|
* Support a special const-value refcount, use it for const strings.Graydon Hoare2010-11-093-4/+20
|
* First pass on splitting stratum and opacity off of effects. WIP.Graydon Hoare2010-11-021-1/+1
|
* Cast NULL to uintptr_t when calling rust_task::start().Ralph Giles2010-10-281-1/+1
| | | | | | | | | On gcc 4.5.1 (fedora 14 i686) rust_test_runtime.cpp fails to compile with the following error: rt/test/rust_test_runtime.cpp:57:61: error: passing NULL to non-pointer argument 3 of ‘void rust_task::start(uintptr_t, uintptr_t, uintptr_t, size_t)’ The explicit cast works around the error.
* Add a virtual destructor to rust_thread in sync.h, to quiet the compilerPatrick Walton2010-10-201-0/+2
|
* Use new and delete instead of alloca(). Should put out the burning tinderbox.Patrick Walton2010-10-111-2/+3
|
* Try to print backtraces on failurePatrick Walton2010-10-114-17/+46
|
* Use RTLD_GLOBAL when loading libraries. This is needed to get LLVM working ↵Patrick Walton2010-10-051-1/+1
| | | | on the Mac in rustc.
* Fix bug in bind thunks failing top drop unbound args; add test and adjust ↵Graydon Hoare2010-09-301-0/+4
| | | | rustc to use bind again.
* Patchwork of attempted fixes to effect system and gc system; eventually give ↵Graydon Hoare2010-09-292-6/+17
| | | | up and disable it entirely in the runtime. Will need extensive reworking.
* Fixed deadlock caused by the message pump not being notified of new message ↵Michael Bebenita2010-09-165-5/+36
| | | | sends.
* Cleanup, refactoring, and some runtime tests.Michael Bebenita2010-09-1021-129/+275
|
* Added lock_and_signal::signal_all(), and made the rust_kernel::join() use ↵Michael Bebenita2010-09-104-16/+31
| | | | wait instead of yield.
* Fixed lost signal notifications.Michael Bebenita2010-09-081-2/+4
|
* Cache task handles.Michael Bebenita2010-09-082-2/+8
|
* Tidy up the sync dir, remove dead or mis-designed code in favour of OS ↵Graydon Hoare2010-09-0817-345/+170
| | | | primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin.
* XFAIL many.rs since it crashes on win32, and add a time-slice sleep to the ↵Graydon Hoare2010-09-081-1/+24
| | | | kernel message loop to get tests to finish in a sane time.
* Cleaned up locking in the kernel.Michael Bebenita2010-09-083-53/+54
|
* Fixed race in the rust kernel.Michael Bebenita2010-09-074-19/+43
|
* Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita2010-09-0721-410/+638
| | | | domains can only talk to other domains via handles, and with the help of the rust_kernel.
* Started work on a framework for writing runtime tests, added some simple ↵Michael Bebenita2010-09-074-0/+180
| | | | test cases.
* Small updates to util classes.Michael Bebenita2010-09-072-1/+24
|
* Change signature of array_list::pop().Michael Bebenita2010-09-073-7/+22
|
* Added "new" inline operators to memory regions.Michael Bebenita2010-09-071-0/+8
|
* Added a .cpp file for rust_proxy to help avoid .h file dependencies in the ↵Michael Bebenita2010-09-071-0/+1
| | | | future.
* Added a thread utility class to factor out operations on threads.Michael Bebenita2010-09-072-0/+64
|
* Added a few utility classes, cleaned up the include order of .h files, and ↵Michael Bebenita2010-09-0715-111/+246
| | | | started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
* Add a little pointer-cast helper to dbg.Roy Frostig2010-09-061-0/+13
|
* When vec growth results in a newly allocated (extended) buffer, copy ↵Roy Frostig2010-09-031-9/+26
| | | | existing elements over via element-wise copy, not flat memcpy. Introduce new vec growth glue to achieve this.
* Whitespace churn.Graydon Hoare2010-08-311-38/+63
|
* Fix rust_vec constructor assertion failure caused by slow path of ↵Roy Frostig2010-08-311-2/+3
| | | | upcall_vec_grow. Add testcase.
* Implemented an lock free queue based on this paper ↵Michael Bebenita2010-08-247-21/+294
| | | | http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf, the "lock free queue" we had before wasn't lock free at all.
* Add support in dbg.debug_obj for printing the obj body.Roy Frostig2010-08-241-1/+7
|
* Add std.dbg module for inspecting rust values in memory.Roy Frostig2010-08-241-0/+100
|
* Disable task-growing logic for now until #151 is fixedPatrick Walton2010-08-201-1/+10
|
* Make _io.buf_reader read more than 0 bytes at a time.Roy Frostig2010-08-191-2/+22
|
* Added simple deadlock detection in the scheduler.Michael Bebenita2010-08-172-0/+28
|
* Lots of changes around memory managment in the Runtime. Added memory regions ↵Michael Bebenita2010-08-1712-124/+298
| | | | and fixed race caused by calling rust_srv::malloc() from multiple threads when sending messages.
* Add a "special" rust_log flag to be used for debugging in cases where the ↵Michael Bebenita2010-08-172-0/+2
| | | | full log output prevents races from occurring.
* Added labels to blocking conditions.Michael Bebenita2010-08-174-8/+13
|
* Fixed deadlock by removing channel flushing.Michael Bebenita2010-08-172-32/+20
|
* Made the lock_free_queue lock (temporarily, until fixed).Michael Bebenita2010-08-172-0/+7
|
* Putting out the burning tree on Windows. Turns out you can completely starve ↵Michael Bebenita2010-08-163-5/+5
| | | | threads by not yielding on windows/vmware, really weird.
* Un-xfailed working tests.Michael Bebenita2010-08-161-1/+2
|
* Pulled rust_srv in its own file. Some cleanup, and added varargs to ↵Michael Bebenita2010-08-166-128/+164
| | | | assertion macros.
* A little tidy-up that should have gone in with ↵Roy Frostig2010-08-121-2/+2
| | | | 4e376852e709844d67f94430d9dc954d5be722b4.