about summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2011-03-07Yell louder when a linkage error in rt occurs, as compiler output fails ↵Graydon Hoare-2/+3
quietly on null return.
2011-03-02Comment-out TRACK_ALLOCATIONS again. Leave a note about it.Graydon Hoare-1/+4
2011-03-02Parse parameter types for fmt extensionBrian Anderson-1/+1
2011-02-22Add ABI tagging to crates, adjust rustc output and runtime stack-frame setup ↵Graydon Hoare-24/+55
so access to argv works.
2011-02-21Fix typo in rust_task::start. Should be copying 1 fewer initial arg.Graydon Hoare-2/+2
2011-02-14Disable TRACK_ALLOCATIONS by default, it's a bit heavy-handed.Graydon Hoare-1/+1
2011-02-10Commit the trap-failure hack to the runtime, since I keep using it in my ↵Graydon Hoare-0/+4
workspace anyways.
2011-01-14Further corrections to the logging layer in runtime.Graydon Hoare-6/+8
2011-01-14Change log buffer butes to a symbolic const in runtime.Graydon Hoare-11/+15
2011-01-10Cleanup circular_bufferBrian Anderson-39/+56
2011-01-10Remove the assumption that circular_buffer's buffer has a power of two sizeBrian Anderson-33/+65
It was not obvious how to make this implementation work when the unit size was not also a power of two, so for now just make the buffer size a multiple of the unit size so it can pass all the tests.
2011-01-10Cleanup circular_buffer grow / shrink routinesBrian Anderson-4/+7
2011-01-10Fix circular_buffer growth when _next != 0Brian Anderson-6/+7
2011-01-10Remove tabsBrian Anderson-1/+1
2011-01-10Don't allow circular_buffer to shrink below its original size when unit_sz ↵Brian Anderson-5/+7
is not a power of two
2011-01-10Don't allow circular_buffer to shrink below it's initial sizeBrian Anderson-1/+3
2011-01-10Fix the check for growing the circular_bufferBrian Anderson-1/+1
2011-01-07Correctly initialize circular_buffer to a power-of-two bytesBrian Anderson-1/+2
2011-01-03Don't attempt to wake tasks that aren't blocked.Brian Anderson-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.
2010-12-31Add std.dbg.trap(str msg) for help debugging.Graydon Hoare-0/+8
2010-12-13Make failing to resolve a symbol an errorPatrick Walton-1/+1
2010-11-30Make the ugly detailed leak-spray on rustc failures optional.Graydon Hoare-7/+22
2010-11-16Update frame logic to be compatible with SysV x86 ABI. Improves diagnostics.Graydon Hoare-12/+16
2010-11-09Support a special const-value refcount, use it for const strings.Graydon Hoare-4/+20
2010-11-02First pass on splitting stratum and opacity off of effects. WIP.Graydon Hoare-1/+1
2010-10-28Cast NULL to uintptr_t when calling rust_task::start().Ralph Giles-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.
2010-10-20Add a virtual destructor to rust_thread in sync.h, to quiet the compilerPatrick Walton-0/+2
2010-10-11Use new and delete instead of alloca(). Should put out the burning tinderbox.Patrick Walton-2/+3
2010-10-11Try to print backtraces on failurePatrick Walton-17/+46
2010-10-05Use RTLD_GLOBAL when loading libraries. This is needed to get LLVM working ↵Patrick Walton-1/+1
on the Mac in rustc.
2010-09-30Fix bug in bind thunks failing top drop unbound args; add test and adjust ↵Graydon Hoare-0/+4
rustc to use bind again.
2010-09-29Patchwork of attempted fixes to effect system and gc system; eventually give ↵Graydon Hoare-6/+17
up and disable it entirely in the runtime. Will need extensive reworking.
2010-09-16Fixed deadlock caused by the message pump not being notified of new message ↵Michael Bebenita-5/+36
sends.
2010-09-10Cleanup, refactoring, and some runtime tests.Michael Bebenita-129/+275
2010-09-10Added lock_and_signal::signal_all(), and made the rust_kernel::join() use ↵Michael Bebenita-16/+31
wait instead of yield.
2010-09-08Fixed lost signal notifications.Michael Bebenita-2/+4
2010-09-08Cache task handles.Michael Bebenita-2/+8
2010-09-08Tidy up the sync dir, remove dead or mis-designed code in favour of OS ↵Graydon Hoare-345/+170
primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin.
2010-09-08XFAIL many.rs since it crashes on win32, and add a time-slice sleep to the ↵Graydon Hoare-1/+24
kernel message loop to get tests to finish in a sane time.
2010-09-08Cleaned up locking in the kernel.Michael Bebenita-53/+54
2010-09-07Fixed race in the rust kernel.Michael Bebenita-19/+43
2010-09-07Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita-410/+638
domains can only talk to other domains via handles, and with the help of the rust_kernel.
2010-09-07Started work on a framework for writing runtime tests, added some simple ↵Michael Bebenita-0/+180
test cases.
2010-09-07Small updates to util classes.Michael Bebenita-1/+24
2010-09-07Change signature of array_list::pop().Michael Bebenita-7/+22
2010-09-07Added "new" inline operators to memory regions.Michael Bebenita-0/+8
2010-09-07Added a .cpp file for rust_proxy to help avoid .h file dependencies in the ↵Michael Bebenita-0/+1
future.
2010-09-07Added a thread utility class to factor out operations on threads.Michael Bebenita-0/+64
2010-09-07Added a few utility classes, cleaned up the include order of .h files, and ↵Michael Bebenita-111/+246
started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
2010-09-06Add a little pointer-cast helper to dbg.Roy Frostig-0/+13