about summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2011-06-28Moved win32_require to the kernel.Eric Holk-33/+34
2011-06-28Fixed Win32 compile errors.Eric Holk-7/+7
2011-06-28Removed dom_owned, splitting things between task_owned and kernel_owned. Had ↵Eric Holk-226/+211
to re-xfail a few tests brson recently un-xfailed.
2011-06-28Moved thread management to rust_kernel.Eric Holk-86/+91
2011-06-28There is only one domain per kernel now.Eric Holk-127/+21
2011-06-28Removing runtime tests. The runtime is tested well enough by the standard ↵Eric Holk-309/+0
library tests, so we might as well have less code to fix during refactoring.
2011-06-27Properly handle the case where src==dst but we have to allocate a new vector.Michael Sullivan-1/+1
2011-06-27Properly handle the case where src==dst in upcall_vec_append.Michael Sullivan-0/+6
2011-06-27A little tidying in rt.Graydon Hoare-31/+24
2011-06-27Implementation mising features in lock_and_signal for Win32. Also lowered ↵Eric Holk-10/+11
the minimum stack size to get the pfib benchmark to run without exhausting its address space on Windows.
2011-06-27Conservatively serialize nearly all upcalls. Successfuly ran make check with ↵Eric Holk-40/+78
RUST_THREADS=8, so we're probably fairly safe now. In the future we can relax the synchronization to get better performance.
2011-06-27Fixed a few concurrency bugs. Still not perfect, but overall it seems much ↵Eric Holk-7/+16
more reliable.
2011-06-27Added some locking to ports to prevent the case where two threads ↵Eric Holk-13/+9
simultaneously wake up a task blocked on a certain port.
2011-06-27Added an environment variable to control how many threads to use.Eric Holk-1/+18
2011-06-27Basic multithreading support. The infinite loops test successfully maxes out ↵Eric Holk-30/+149
the CPU.
2011-06-23Combined set_registers and get_registers into swap_registers.Eric Holk-57/+20
2011-06-23Wrote swap_context in assembly. Closes #548. This also allows us to ↵Eric Holk-29/+36
re-enable optimization on OSX for both gcc and clang. Also, re-enamed task-comm-1.rs, which was previously broken by optimization.
2011-06-20Added string duplication to deep_copy. Closes #520.Eric Holk-3/+16
2011-06-19rt: Fix size miscalculation in ivec_reservePatrick Walton-1/+1
2011-06-17rustc: Fix a bunch of memory management bugs relating to generic interior ↵Patrick Walton-1/+1
vectors. Uncomment all tests in lib-ivec.
2011-06-17Updating rustrt.def.in so that the path manipulation functions work on OS X.Eric Holk-0/+1
2011-06-17stdlib: added getcwd and a convenience function to make relative paths ↵Eric Holk-0/+30
absolute. This will be helpful for #441.
2011-06-16stdlib: Fix reserve on zero-length interior vectors; uncomment ↵Patrick Walton-2/+13
test_unsafe_ptrs()
2011-06-16rustc: Implement conversions from interior vector data to unsafe pointers ↵Patrick Walton-0/+39
and vice-versa
2011-06-16stdlib: Introduce an ivec module into the standard library; add a minimal ↵Patrick Walton-0/+11
test case
2011-06-16Removing dead upcall_join. Closes #509.Eric Holk-22/+0
2011-06-16Get rid of old vec_append glue.Michael Sullivan-12/+8
2011-06-16rt: memory_region::free(NULL) shouldn't touch the live allocation countPatrick Walton-0/+1
2011-06-16rt: Add an ivec length intrinsic and an ivec reserve function, both untested ↵Patrick Walton-24/+106
as of yet
2011-06-15Fixed a problem where spawn arguments were getting lost again. Also, fixed ↵Eric Holk-24/+31
up stack alignment, which closes #496
2011-06-15Re-enabled join.Eric Holk-3/+6
2011-06-15Step 3 of cdecl conversion.Eric Holk-5/+2
2011-06-15Step 2 of cdecl task transition.Eric Holk-16/+5
2011-06-15Step 1 of moving task startup to always be cdecl.Eric Holk-10/+25
2011-06-14Merge pull request #490 from msullivan/fix_vec_appendPatrick Walton-7/+63
Move the implementation of vec_append from llvm assembly to a regular upcall
2011-06-14rustc: Implement on-heap resizing for interior vectorsPatrick Walton-4/+11
2011-06-14Make tydesc glue functions use cdecl.Michael Sullivan-5/+5
2011-06-14Implement upcall_vec_append and use it for vector append.Michael Sullivan-1/+49
2011-06-14Make type_desc fields have useful types and better names. Add in cmp_glue.Michael Sullivan-6/+14
2011-06-13rustc: Add some interior vector spill code, untested as of yetPatrick Walton-2/+13
2011-06-13rustc: Implement simple interior vector append translationPatrick Walton-0/+45
2011-06-13This is the mega-ucontext commit. It replaces the task switching mechanism ↵Eric Holk-400/+350
with a new one inspired by ucontext. It works under Linux, OS X and Windows, and is Valgrind clean on Linux and OS X (provided the runtime is built with gcc). This commit also moves yield and join to the standard library, as requested in #42. Join is currently a no-op though.
2011-06-10Make darwin happy.Graydon Hoare-2/+3
2011-06-10Fix printf flags.Graydon Hoare-1/+1
2011-06-10Move rt:: logging namespace to ::rt:: and implement RUST_LOG=? and ↵Graydon Hoare-19/+57
RUST_LOG=::help as synonyms that dump the crate logging map. Also warn when some logging specs don't match.
2011-06-10Encode meta tags in the crate and start sketching enhanced logic for ↵Graydon Hoare-5/+11
resolving crate "use" directives. Now with extra "works on OSX" kludging.
2011-06-09Remove executable bit from lock_and_signal.cpp.Erick Tryzelaar-0/+0
2011-06-09Remove hack now that stage0 doesn't use it.Rafael Ávila de Espíndola-2/+0
2011-06-07Don't put a copy of main (the C one) in each binary we produce. This is a stepRafael Ávila de Espíndola-0/+24
in getting a driver that works on all linux systems. Sorry for the linker hacks, I will remove them after snapshotting a new compiler.
2011-05-31Move rust_vec_append_glue to rt.Rafael Ávila de Espíndola-0/+139