about summary refs log tree commit diff
path: root/src/rt/rust_upcall.cpp
AgeCommit message (Collapse)AuthorLines
2011-06-28Re-enabling some tests.Eric Holk-2/+2
2011-06-28Renamed what's left of rust_dom to rust_schedulerEric Holk-34/+34
2011-06-28Removed dom_owned, splitting things between task_owned and kernel_owned. Had ↵Eric Holk-4/+3
to re-xfail a few tests brson recently un-xfailed.
2011-06-28Moved thread management to rust_kernel.Eric Holk-19/+19
2011-06-28There is only one domain per kernel now.Eric Holk-80/+0
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-1/+1
2011-06-27Conservatively serialize nearly all upcalls. Successfuly ran make check with ↵Eric Holk-20/+44
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-3/+6
more reliable.
2011-06-20Added string duplication to deep_copy. Closes #520.Eric Holk-3/+15
2011-06-16Removing dead upcall_join. Closes #509.Eric Holk-21/+0
2011-06-16Get rid of old vec_append glue.Michael Sullivan-10/+8
2011-06-15Fixed a problem where spawn arguments were getting lost again. Also, fixed ↵Eric Holk-13/+10
up stack alignment, which closes #496
2011-06-15Re-enabled join.Eric Holk-2/+0
2011-06-14Merge pull request #490 from msullivan/fix_vec_appendPatrick Walton-1/+48
Move the implementation of vec_append from llvm assembly to a regular upcall
2011-06-14rustc: Implement on-heap resizing for interior vectorsPatrick Walton-2/+9
2011-06-14Implement upcall_vec_append and use it for vector append.Michael Sullivan-1/+48
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/+19
2011-06-13This is the mega-ucontext commit. It replaces the task switching mechanism ↵Eric Holk-2/+20
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-05-27Switched calling conventions so that spawn with multiple arguments works.Eric Holk-1/+1
2011-05-27Switching over to wrappers for spawning functions of multiple arguments. ↵Eric Holk-7/+11
Doesn't quite work yet.
2011-05-26More delicious dead code removal from runtime, upcalls.Graydon Hoare-2/+2
2011-05-24Dead code.Rafael Ávila de Espíndola-42/+0
2011-05-24Dead code.Rafael Ávila de Espíndola-42/+0
2011-05-24Dead code elimination.Rafael Ávila de Espíndola-1/+1
2011-05-24"constant propagate" rust_new_exit_task_glue to its only use.Rafael Ávila de Espíndola-6/+4
2011-05-20Translated start_task, but it fails on spp == align_down(spp)Eric Holk-5/+4
2011-05-20Called the new_task upcall. There are refcount issues though.Eric Holk-2/+3
2011-05-19Remove rustboot-related logging hacksMarijn Haverbeke-17/+0
(Also, feel free to start adding logging to your code. Really. It's fast.)
2011-05-18Remove a bit more dead code.Rafael Ávila de Espíndola-2/+0
2011-05-18Remove dead rustboot code.Rafael Ávila de Espíndola-2/+2
2011-05-04Try to fail nicely, again.Graydon Hoare-2/+0
2011-05-04Fail in a slightly more organized fashion for now.Graydon Hoare-4/+2
2011-04-28Log refcounts in upcall_vec_grow.Graydon Hoare-4/+4
2011-04-19Overhaul logging system in runtimeMarijn Haverbeke-106/+106
See https://github.com/graydon/rust/wiki/Logging-vision The runtime logging categories are now treated in the same way as modules in compiled code. Each domain now has a log_lvl that can be used to restrict the logging from that domain (will be used to allow logging to be restricted to a single domain). Features dropped (can be brought back to life if there is interest): - Logger indentation - Multiple categories per log statement - I possibly broke some of the color code -- it confuses me
2011-04-19Add log_err to rustbootMarijn Haverbeke-4/+4
2011-04-07Move to macro-based logging checks in the C++ codeMarijn Haverbeke-61/+57
No functions should be called for log statements that turn out to be inactive.
2011-03-24Make symbol resolution failures log under rust_log::ERR flag as well.Graydon Hoare-2/+2
2011-03-22Further support for floating-point. Literals with exponents workTim Chevalier-1/+8
and literals with the 'f32' or 'f64' suffixes work as well. In addition, logging things with the f32 or f64 type works. (float is still assumed to be a synonym for f64).
2011-03-21Started adding support for floating-point type, floating-point literals, and ↵Tim Chevalier-0/+7
logging of floats. Other operations on float probably don't work yet.
2011-02-22Add ABI tagging to crates, adjust rustc output and runtime stack-frame setup ↵Graydon Hoare-3/+8
so access to argv works.
2011-02-10Commit the trap-failure hack to the runtime, since I keep using it in my ↵Graydon Hoare-0/+4
workspace anyways.
2010-12-13Make failing to resolve a symbol an errorPatrick Walton-1/+1
2010-11-09Support a special const-value refcount, use it for const strings.Graydon Hoare-1/+4
2010-09-29Patchwork of attempted fixes to effect system and gc system; eventually give ↵Graydon Hoare-6/+7
up and disable it entirely in the runtime. Will need extensive reworking.
2010-09-10Cleanup, refactoring, and some runtime tests.Michael Bebenita-5/+1
2010-09-07Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita-112/+100
domains can only talk to other domains via handles, and with the help of the rust_kernel.
2010-09-07Added a few utility classes, cleaned up the include order of .h files, and ↵Michael Bebenita-5/+3
started to make the Rust kernel own domain message queues rather than the Rust domains themselves.