1120 Commits

Author SHA1 Message Date
Michael Bebenita
0e422c748b Added "none" option to rust_log env string to disable all log output. 2010-08-09 07:07:00 -07:00
Michael Bebenita
d2c2fbe7ca Added timed_wait to condition variables. 2010-08-09 07:04:38 -07:00
Michael Bebenita
76ba8f1d84 Changed array_list::replace() return behavior. 2010-08-09 06:59:46 -07:00
Jeffrey Yasskin
b71340552f Add names to tasks and domains. These can either be an explicit literal string
after the "spawn" keyword, or implicitly the call expression used to start the
spawn.
2010-08-09 11:43:16 +02:00
Jeffrey Yasskin
3f6e8ffe64 Implement _str.len() to return the number of bytes, rename it to byte_len(),
and add a test.
2010-08-06 17:29:21 -07:00
Roy Frostig
1a8d609e89 Add a buffered writer to stdlib _io module. 2010-08-04 12:59:48 -07:00
Graydon Hoare
0b9c882d66 Log join-wait count under rust_log::TASK bits, not ::ALL. 2010-07-29 10:41:22 -07:00
Michael Bebenita
fa70212c86 Log dead tasks when dom is just waiting for refcounts to drop. 2010-07-28 20:30:29 -07:00
Michael Bebenita
a5b7a5202c Note that we keep running the main loop until all task refcounts are zero. 2010-07-28 20:30:29 -07:00
Michael Bebenita
4246d567b7 Move ports out into their own file, add data_message and make communication system use it (and proxies) instead of existing token scheme. 2010-07-28 20:30:29 -07:00
Michael Bebenita
4ff8e15128 Move notification-messages out into their own file and unify into notify_message, make them use proxies, cache task proxies in dom. 2010-07-28 20:30:29 -07:00
Michael Bebenita
defd8a66ea Rename rust_proxy_delegate to maybe_proxy, flesh out logic in it. Add strong-ref distinction on rust_proxy. 2010-07-28 20:30:29 -07:00
Michael Bebenita
30b3f8a117 Add rust_dom::log_state, for logging the running/blocked/dead vectors per scheduling iteration. 2010-07-28 20:30:29 -07:00
Michael Bebenita
5db5eb0c55 Null rust_task::cond on wakeup, add asserts and logging to block/wakeup. 2010-07-28 20:30:29 -07:00
Michael Bebenita
e327aa5093 Teach task_owned and dom_owned to find their dom via consistent interface. 2010-07-28 20:30:29 -07:00
Michael Bebenita
9fe4b0d404 Add modeline / file-local emacs var blocks. 2010-07-28 20:30:29 -07:00
Michael Bebenita
6c0ce25dbf Move rust_cond. 2010-07-28 20:30:29 -07:00
Michael Bebenita
06b52b70db Fix typos in comments, delete obsolete comments and dead commented code. 2010-07-28 20:30:29 -07:00
Michael Bebenita
cc4906ba79 Wrap long lines. 2010-07-28 20:30:29 -07:00
Michael Bebenita
436efdcb4f Add C++ wrapper around uthash. 2010-07-28 20:30:29 -07:00
Michael Bebenita
dbcc9b36b1 Let circular buffers actually grow to max sz, reset _next when resizing. 2010-07-28 20:30:29 -07:00
Michael Bebenita
c1795a1046 Change unread-on-destroy condition for circular buffer to merely a warning. 2010-07-28 20:30:29 -07:00
Michael Bebenita
c5e0ea7276 Add comment explaining NULL case in circular_buffer::enqueue and add logging to ::dequeue. 2010-07-28 20:30:29 -07:00
Michael Bebenita
d6cba83322 Add peek method to circular buffer. 2010-07-28 20:30:29 -07:00
Michael Bebenita
17fa6bfd9a Change _unit_sz to unit_sz and make public in circular_buffer. 2010-07-28 20:30:28 -07:00
Michael Bebenita
60b0486c11 Make circular buffer use only power-of-two sizes, cheaper arithmetic. 2010-07-28 20:30:28 -07:00
Michael Bebenita
d786469785 Add a warning interface to rust_srv. 2010-07-28 20:30:28 -07:00
Michael Bebenita
6afb6c767e Move allocation-tracking into rust_srv. 2010-07-28 20:30:28 -07:00
Michael Bebenita
712249d6b8 Log a separator when logging switches between threads. 2010-07-28 20:30:28 -07:00
Michael Bebenita
7ead107290 array_list improvements. 2010-07-28 20:30:28 -07:00
Roy Frostig
a9ad2e98e3 Refer to issue #136 at the offending source point. 2010-07-28 14:11:56 -07:00
Roy Frostig
596d19e2ea Test the deque a bit. Give it a get-by-index method. Fix two uncovered state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up. 2010-07-28 14:00:44 -07:00
Roy Frostig
085cd2ee7d vec_alloc takes four arguments these days, not three. 2010-07-25 22:21:07 -07:00
Roy Frostig
beca62e2e3 Attempt 2. This time actually reading my own diffs before committing. 2010-07-25 22:07:21 -07:00
Roy Frostig
b9f82d85f9 Attempt number 1 at extinguishing the windows tree remotely (apologies to those hacking on Sunday evening PST). 2010-07-25 22:05:39 -07:00
Roy Frostig
5b6e714d05 Expose an RNG (the one used by our runtime) to Rust via std. 2010-07-25 21:45:09 -07:00
Roy Frostig
1730d2e037 Notify copy glue of dst-initialization and fix _vec.alloc issues in lib and runtime. Closes #109. 2010-07-22 17:47:32 -07:00
Graydon Hoare
7ff2094496 Back out too-platform-fussy bits in preempt-test work. I hate this test. 2010-07-22 15:39:41 -07:00
Graydon Hoare
0f220ecae9 Beat up on the preempt test a bit more, as it keeps hanging under valgrind. 2010-07-22 15:05:35 -07:00
Jeffrey Yasskin
068c71f11c Fix -Wnon-virtual-destructor, which apple's gcc-4.0 seems to turn on by default. 2010-07-22 01:11:34 +08:00
Graydon Hoare
aca5082273 Back out "::ALL" default logbits. 2010-07-20 18:38:06 -07:00
Graydon Hoare
bf3528342a Be a little more careful before assuming we have crate debuginfo and abbrevs to read. 2010-07-20 17:42:49 -07:00
Michael Bebenita
66181ce2cc Fixed Windows build. 2010-07-20 15:44:21 -07:00
Graydon Hoare
9935a48e95 Fix message formatting in runtime library. 2010-07-20 15:16:09 -07:00
Michael Bebenita
c80483d582 Fixed circular buffer resizing bug. 2010-07-19 17:33:50 -07:00
Michael Bebenita
00d1465d13 Added a message passing system based on lock free queues for inter-thread communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes. 2010-07-19 14:05:18 -07:00
Graydon Hoare
5d8430afa7 Fix a couple fails with wrong arg count (new arg from last gc change); expand vec_grow logging a bit. 2010-07-15 18:59:31 -07:00
Roy Frostig
5d10a264de Add another null byte preceding commandline args passed to the root task, in position of closure/obj pointer. 2010-07-15 12:30:46 -07:00
Roy Frostig
7c8c98a6d7 Adjust call args laid out by fake frame created in rust_task::start to reflect new position of closure-or-obj pointer. 2010-07-15 12:30:46 -07:00
Graydon Hoare
7c837b8c9b Correct doubly-linked list management logic; bug exposed during conversation on issue #106. 2010-07-12 13:26:28 -07:00