Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 292 - back to state of commit 276 | Kartik K. Agaram | 2014-11-22 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | What have we learned? a) You can't detect deadlock between running a thread and waking up sleeping threads -- you may miss threads that are about to become available. b) Most of the context-switching code in 'run' shouldn't assume routine* is correctly set. That's just for 'run-for-time-slice' and for checking on blocked threads. I was implicitly requiring it when I shouldn't, and not setting it when checking blocked threads. Before I fix the next failing test I want to write unit tests for a) above. | ||||
* | 291 - figured out the channel-handoff problem | Kartik K. Agaram | 2014-11-21 | 1 | -1/+3 |
| | | | | | | | | 'read' and 'write' pass in the channel by value, so they block on different *local* variables. Does this kill my plan to pervasively use call-by-value everywhere? No, we might be able to salvage it if channels are the only shared pointers. | ||||
* | 290 - how was channel-write-block *ever* working?! | Kartik K. Agaram | 2014-11-21 | 1 | -1/+5 |
| | | | | Oh right, because I wasn't using default-scope when checking to wake up. | ||||
* | 289 - finally back to deadlock detection | Kartik K. Agaram | 2014-11-21 | 1 | -3/+24 |
| | |||||
* | 288 - support sleeping while watching a memory location | Kartik K. Agaram | 2014-11-21 | 1 | -2/+50 |
| | |||||
* | 283 | Kartik K. Agaram | 2014-11-21 | 1 | -2/+5 |
| | |||||
* | 282 - scheduler skips ahead when all routines are asleep | Kartik K. Agaram | 2014-11-21 | 1 | -4/+18 |
| | |||||
* | 281 | Kartik K. Agaram | 2014-11-21 | 1 | -2/+15 |
| | |||||
* | 280 - waking up sleeping routines | Kartik K. Agaram | 2014-11-21 | 1 | -0/+40 |
| | | | | Tests still hanging at some point. | ||||
* | 277 - back up, start refactoring the scheduler | Kartik K. Agaram | 2014-11-21 | 1 | -24/+64 |
| | | | | | | | | | In trying to share pipes between routines, I realized my scheduler was actually quite brittle. Changing scheduling-interval* shouldn't be required in most tests, and shouldn't change the outcome most of the time. Current state: all scheduler tests fail, but everything else passes. | ||||
* | 276 - now fork can take any args | Kartik K. Agaram | 2014-11-19 | 1 | -0/+14 |
| | | | | | | | | | No oargs, though. Hopefully we don't need them. Use channels for passing data back. Drawback: channels must all be passed in by value, and their direction isn't obvious. Hard to tell when multiple threads read/write the same channel. Hopefully it's amenable to static analysis. | ||||
* | 275 - pass args to fork | Kartik K. Agaram | 2014-11-19 | 1 | -0/+11 |
| | | | | Only literals for starters. | ||||
* | 274 - long overdue test for 'fork' | Kartik K. Agaram | 2014-11-19 | 1 | -0/+11 |
| | |||||
* | 267 - more intuitive channel capacity | Kartik K. Agaram | 2014-11-15 | 1 | -5/+5 |
| | |||||
* | 266 - update html | Kartik K. Agaram | 2014-11-09 | 1 | -1/+1 |
| | |||||
* | 260 | Kartik K. Agaram | 2014-11-08 | 1 | -2/+2 |
| | |||||
* | 259 - finally channel read/write can cause routine to sleep | Kartik K. Agaram | 2014-11-07 | 1 | -3/+45 |
| | |||||
* | 258 - new channel helpers: empty? and full? | Kartik K. Agaram | 2014-11-07 | 1 | -4/+88 |
| | |||||
* | 257 - cleanup the narrative in mu.arc.t | Kartik K. Agaram | 2014-11-07 | 1 | -59/+103 |
| | |||||
* | 256 - channel pointers can now wrap | Kartik K. Agaram | 2014-11-07 | 1 | -1/+57 |
| | |||||
* | 255 | Kartik K. Agaram | 2014-11-07 | 1 | -3/+3 |
| | | | | | As per 248, ignoring output values can reduce some of the pressure of dealing with raw locations. | ||||
* | 250 - experimental support for _ oarg | Kartik K. Agaram | 2014-11-07 | 1 | -0/+11 |
| | | | | | | | This radically overhauls our assumption that args must always be lists, so we're probably missing things. Where we do, more tests are required. Only important trace change: .traces/dummy-oarg | ||||
* | 248 | Kartik K. Agaram | 2014-11-07 | 1 | -8/+8 |
| | | | | | | | | | | I've been using raw locations to make tests easy to read (test checks the same locations that code modifies). But this means I have to manage them myself, and I've been shoving variables into the storage for compounds like tagged-value. Doesn't matter in this case since we don't look at the contents of the tagged-value, but still unhygienic. Maybe we need syntax for ignoring some output values? | ||||
* | 247 | Kartik K. Agaram | 2014-11-07 | 1 | -0/+33 |
| | |||||
* | 246 | Kartik K. Agaram | 2014-11-07 | 1 | -0/+10 |
| | |||||
* | 245 - sanity check for type table | Kartik K. Agaram | 2014-11-06 | 1 | -0/+8 |
| | |||||
* | 244 | Kartik K. Agaram | 2014-11-06 | 1 | -0/+1 |
| | |||||
* | 243 - robustify channel tests | Kartik K. Agaram | 2014-11-06 | 1 | -9/+15 |
| | |||||
* | 241 - 'sleep' on a memory location | Kartik K. Agaram | 2014-11-06 | 1 | -0/+19 |
| | | | | I thought we could be oblivious of channels, but that requires more work. | ||||
* | 238 - avoid deadlock if all jobs are sleeping | Kartik K. Agaram | 2014-11-06 | 1 | -0/+24 |
| | |||||
* | 237 - rudimentary 'sleep' | Kartik K. Agaram | 2014-11-06 | 1 | -0/+24 |
| | |||||
* | 235 | Kartik K. Agaram | 2014-11-06 | 1 | -4/+2 |
| | |||||
* | 233 - start tracking global cycle count | Kartik K. Agaram | 2014-11-06 | 1 | -7/+11 |
| | | | | We're gonna need this to implement 'sleep'. | ||||
* | 232 | Kartik K. Agaram | 2014-11-06 | 1 | -0/+20 |
| | |||||
* | 228 - rudimentary read from channel | Kartik K. Agaram | 2014-11-04 | 1 | -1/+22 |
| | |||||
* | 225 - simple writes to channel | Kartik K. Agaram | 2014-11-04 | 1 | -0/+17 |
| | |||||
* | 224 | Kartik K. Agaram | 2014-11-04 | 1 | -7/+9 |
| | |||||
* | 223 | Kartik K. Agaram | 2014-11-04 | 1 | -0/+9 |
| | |||||
* | 221 | Kartik K. Agaram | 2014-11-04 | 1 | -0/+15 |
| | |||||
* | 220 - stop creating empty traces | Kartik K. Agaram | 2014-11-04 | 1 | -10/+10 |
| | |||||
* | 219 | Kartik K. Agaram | 2014-11-03 | 1 | -0/+7 |
| | |||||
* | 218 | Kartik K. Agaram | 2014-11-03 | 1 | -0/+3 |
| | |||||
* | 215 - allow record fields to be named | Kartik K. Agaram | 2014-11-03 | 1 | -0/+21 |
| | |||||
* | 214 | Kartik K. Agaram | 2014-11-03 | 1 | -11/+11 |
| | |||||
* | 213 - bring back the fork example | Kartik K. Agaram | 2014-11-01 | 1 | -0/+12 |
| | |||||
* | 211 - update html for reading | Kartik K. Agaram | 2014-11-01 | 1 | -1/+1 |
| | |||||
* | 210 - go over mu.arc.t narrative | Kartik K. Agaram | 2014-11-01 | 1 | -37/+66 |
| | |||||
* | 209 | Kartik K. Agaram | 2014-11-01 | 1 | -2/+19 |
| | |||||
* | 208 | Kartik K. Agaram | 2014-11-01 | 1 | -42/+42 |
| | |||||
* | 207 | Kartik K. Agaram | 2014-11-01 | 1 | -139/+137 |
| |