summary refs log tree commit diff
path: root/src/rt/rust_upcall.cpp
AgeCommit message (Collapse)AuthorLines
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.
2010-09-03When vec growth results in a newly allocated (extended) buffer, copy ↵Roy Frostig-9/+26
existing elements over via element-wise copy, not flat memcpy. Introduce new vec growth glue to achieve this.
2010-08-31Whitespace churn.Graydon Hoare-38/+63
2010-08-31Fix rust_vec constructor assertion failure caused by slow path of ↵Roy Frostig-2/+3
upcall_vec_grow. Add testcase.
2010-08-17Added labels to blocking conditions.Michael Bebenita-3/+3
2010-08-17Fixed deadlock by removing channel flushing.Michael Bebenita-25/+14
2010-08-11Added support for task sleeping in the scheduler.Michael Bebenita-0/+8
2010-08-11Ignore upcall_flush for channels that are disassociated from ports. This ↵Michael Bebenita-0/+8
makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed.
2010-08-10Merge commit 'jyasskin/work'Graydon Hoare-23/+27
Conflicts: src/rt/rust_dom.cpp src/rt/rust_upcall.cpp
2010-08-09Synthesize a flush_chan upcall right before a channel's ref_count drops to ↵Michael Bebenita-26/+42
zero. This should only happen in the Rust code and not in the drop glue, or on the unwind path. This change allows the task owning the channel to block on a flush and delete its own channel. This change also cleans up some code around rust_port and rust_chan.
2010-08-09Some pretty printing in the runtime.Michael Bebenita-5/+21
2010-08-09Add names to tasks and domains. These can either be an explicit literal stringJeffrey Yasskin-23/+27
after the "spawn" keyword, or implicitly the call expression used to start the spawn.
2010-07-28Move ports out into their own file, add data_message and make communication ↵Michael Bebenita-17/+34
system use it (and proxies) instead of existing token scheme.
2010-07-28Move notification-messages out into their own file and unify into ↵Michael Bebenita-21/+25
notify_message, make them use proxies, cache task proxies in dom.
2010-07-28Rename rust_proxy_delegate to maybe_proxy, flesh out logic in it. Add ↵Michael Bebenita-8/+9
strong-ref distinction on rust_proxy.
2010-07-28Fix typos in comments, delete obsolete comments and dead commented code.Michael Bebenita-64/+1
2010-07-28Test the deque a bit. Give it a get-by-index method. Fix two uncovered ↵Roy Frostig-2/+7
state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up.
2010-07-22Back out too-platform-fussy bits in preempt-test work. I hate this test.Graydon Hoare-3/+0
2010-07-22Beat up on the preempt test a bit more, as it keeps hanging under valgrind.Graydon Hoare-2/+5
2010-07-19Added a message passing system based on lock free queues for inter-thread ↵Michael Bebenita-330/+270
communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.
2010-07-15Fix a couple fails with wrong arg count (new arg from last gc change); ↵Graydon Hoare-3/+5
expand vec_grow logging a bit.
2010-07-04Fix typo in upcall_recv log message.Graydon Hoare-1/+1
2010-07-02Improve logging on upcall_malloc.Graydon Hoare-2/+7