aboutsummaryrefslogtreecommitdiff
path: root/src/rt/rust_dom.h
Commit message (Collapse)AuthorAgeFilesLines
* Overhaul logging system in runtimeMarijn Haverbeke2011-04-191-8/+4
| | | | | | | | | | | | | | 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
* Move to macro-based logging checks in the C++ codeMarijn Haverbeke2011-04-071-0/+5
| | | | | No functions should be called for log statements that turn out to be inactive.
* Cleanup, refactoring, and some runtime tests.Michael Bebenita2010-09-101-7/+10
|
* Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita2010-09-071-10/+7
| | | | 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-10/+3
| | | | started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
* Implemented an lock free queue based on this paper ↵Michael Bebenita2010-08-241-2/+2
| | | | http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf, the "lock free queue" we had before wasn't lock free at all.
* Added simple deadlock detection in the scheduler.Michael Bebenita2010-08-171-0/+1
|
* Lots of changes around memory managment in the Runtime. Added memory regions ↵Michael Bebenita2010-08-171-4/+11
| | | | and fixed race caused by calling rust_srv::malloc() from multiple threads when sending messages.
* Merge commit 'jyasskin/work'Graydon Hoare2010-08-101-1/+4
|\ | | | | | | | | | | 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-1/+4
| | | | | | | | | | after the "spawn" keyword, or implicitly the call expression used to start the spawn.
* | Fixed deadlock in the scheduler caused by condition variables.Michael Bebenita2010-08-091-3/+0
| |
* | Made the runtime keep track of all live domains and print their state.Michael Bebenita2010-08-091-0/+1
|/
* Move ports out into their own file, add data_message and make communication ↵Michael Bebenita2010-07-281-0/+2
| | | | 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-15/+7
| | | | notify_message, make them use proxies, cache task proxies in dom.
* Add rust_dom::log_state, for logging the running/blocked/dead vectors per ↵Michael Bebenita2010-07-281-0/+2
| | | | scheduling iteration.
* Add modeline / file-local emacs var blocks.Michael Bebenita2010-07-281-0/+11
|
* Fix -Wnon-virtual-destructor, which apple's gcc-4.0 seems to turn on by default.Jeffrey Yasskin2010-07-221-0/+1
|
* Added a message passing system based on lock free queues for inter-thread ↵Michael Bebenita2010-07-191-0/+92
communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.