aboutsummaryrefslogtreecommitdiff
path: root/src/rt/rust_upcall.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add ABI tagging to crates, adjust rustc output and runtime stack-frame setup ↵Graydon Hoare2011-02-221-3/+8
| | | | so access to argv works.
* Commit the trap-failure hack to the runtime, since I keep using it in my ↵Graydon Hoare2011-02-101-0/+4
| | | | workspace anyways.
* Make failing to resolve a symbol an errorPatrick Walton2010-12-131-1/+1
|
* Support a special const-value refcount, use it for const strings.Graydon Hoare2010-11-091-1/+4
|
* Patchwork of attempted fixes to effect system and gc system; eventually give ↵Graydon Hoare2010-09-291-6/+7
| | | | up and disable it entirely in the runtime. Will need extensive reworking.
* Cleanup, refactoring, and some runtime tests.Michael Bebenita2010-09-101-5/+1
|
* Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita2010-09-071-112/+100
| | | | domains can only talk to other domains via handles, and with the help of the rust_kernel.
* Added a few utility classes, cleaned up the include order of .h files, and ↵Michael Bebenita2010-09-071-5/+3
| | | | started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
* 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.
* Added labels to blocking conditions.Michael Bebenita2010-08-171-3/+3
|
* Fixed deadlock by removing channel flushing.Michael Bebenita2010-08-171-25/+14
|
* Added support for task sleeping in the scheduler.Michael Bebenita2010-08-111-0/+8
|
* Ignore upcall_flush for channels that are disassociated from ports. This ↵Michael Bebenita2010-08-111-0/+8
| | | | makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed.
* Merge commit 'jyasskin/work'Graydon Hoare2010-08-101-23/+27
|\ | | | | | | | | | | Conflicts: src/rt/rust_dom.cpp src/rt/rust_upcall.cpp
| * Add names to tasks and domains. These can either be an explicit literal stringJeffrey Yasskin2010-08-091-23/+27
| | | | | | | | | | after the "spawn" keyword, or implicitly the call expression used to start the spawn.
* | Synthesize a flush_chan upcall right before a channel's ref_count drops to ↵Michael Bebenita2010-08-091-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.
* | Some pretty printing in the runtime.Michael Bebenita2010-08-091-5/+21
|/
* Move ports out into their own file, add data_message and make communication ↵Michael Bebenita2010-07-281-17/+34
| | | | system use it (and proxies) instead of existing token scheme.
* Move notification-messages out into their own file and unify into ↵Michael Bebenita2010-07-281-21/+25
| | | | notify_message, make them use proxies, cache task proxies in dom.
* Rename rust_proxy_delegate to maybe_proxy, flesh out logic in it. Add ↵Michael Bebenita2010-07-281-8/+9
| | | | strong-ref distinction on rust_proxy.
* Fix typos in comments, delete obsolete comments and dead commented code.Michael Bebenita2010-07-281-64/+1
|
* Test the deque a bit. Give it a get-by-index method. Fix two uncovered ↵Roy Frostig2010-07-281-2/+7
| | | | state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up.
* Back out too-platform-fussy bits in preempt-test work. I hate this test.Graydon Hoare2010-07-221-3/+0
|
* Beat up on the preempt test a bit more, as it keeps hanging under valgrind.Graydon Hoare2010-07-221-2/+5
|
* Added a message passing system based on lock free queues for inter-thread ↵Michael Bebenita2010-07-191-330/+270
| | | | communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.
* Fix a couple fails with wrong arg count (new arg from last gc change); ↵Graydon Hoare2010-07-151-3/+5
| | | | expand vec_grow logging a bit.
* Fix typo in upcall_recv log message.Graydon Hoare2010-07-041-1/+1
|
* Improve logging on upcall_malloc.Graydon Hoare2010-07-021-2/+7
|
* Move more of the GC logic into the runtime.Graydon Hoare2010-06-281-10/+29
|
* Populate tree.Graydon Hoare2010-06-231-0/+654