Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 279 - one new test passing, but sleep now hangs | Kartik K. Agaram | 2014-11-21 | 1 | -2/+5 |
| | |||||
* | 278 | Kartik K. Agaram | 2014-11-21 | 1 | -0/+5 |
| | |||||
* | 277 - back up, start refactoring the scheduler | Kartik K. Agaram | 2014-11-21 | 1 | -32/+55 |
| | | | | | | | | | 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 | -2/+1 |
| | | | | | | | | | 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 | -3/+4 |
| | | | | Only literals for starters. | ||||
* | 273 | Kartik K. Agaram | 2014-11-18 | 1 | -1/+1 |
| | |||||
* | 272 | Kartik K. Agaram | 2014-11-18 | 1 | -1/+1 |
| | |||||
* | 271 | Kartik K. Agaram | 2014-11-18 | 1 | -7/+7 |
| | |||||
* | 270 | Kartik K. Agaram | 2014-11-18 | 1 | -2/+8 |
| | |||||
* | 269 | Kartik K. Agaram | 2014-11-18 | 1 | -12/+28 |
| | | | | | | Minor cleanup and code comments. I'm starting to feel the need for formatting primitives, so I don't use comments just to provide section headings. | ||||
* | 267 - more intuitive channel capacity | Kartik K. Agaram | 2014-11-15 | 1 | -0/+1 |
| | |||||
* | 263 | Kartik K. Agaram | 2014-11-08 | 1 | -3/+4 |
| | | | | | | | | | | | | | | | | | I'm trying to think about how to write a test for the race condition, and how to fix it. One thing that's been hard is even remembering where it lies. It's not between wiping the watch and sleeping on it; that's innocuous because the sleep would just immediately wake up. No, the race condition lies between the empty check and the wipe. For the innocuous race we could just create an atomic wipe-and-sleep. But the more serious race requires a lock. If we need a lock anyway, is there any reason to have two watch variables? I'm going to preserve these alternative functions in the code. Alternatives will only ever be called from other alteratives or tests. | ||||
* | 262 | Kartik K. Agaram | 2014-11-08 | 1 | -4/+4 |
| | |||||
* | 259 - finally channel read/write can cause routine to sleep | Kartik K. Agaram | 2014-11-07 | 1 | -3/+29 |
| | |||||
* | 258 - new channel helpers: empty? and full? | Kartik K. Agaram | 2014-11-07 | 1 | -0/+30 |
| | |||||
* | 256 - channel pointers can now wrap | Kartik K. Agaram | 2014-11-07 | 1 | -9/+25 |
| | |||||
* | 254 | Kartik K. Agaram | 2014-11-07 | 1 | -0/+1 |
| | |||||
* | 253 | Kartik K. Agaram | 2014-11-07 | 1 | -17/+17 |
| | |||||
* | 252 | Kartik K. Agaram | 2014-11-07 | 1 | -3/+3 |
| | | | | Single idiom for setting oargs. | ||||
* | 251 | Kartik K. Agaram | 2014-11-07 | 1 | -5/+8 |
| | |||||
* | 250 - experimental support for _ oarg | Kartik K. Agaram | 2014-11-07 | 1 | -11/+22 |
| | | | | | | | 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 | ||||
* | 249 | Kartik K. Agaram | 2014-11-07 | 1 | -2/+2 |
| | | | | I've been meaning to fix that misleading label for some time now.. | ||||
* | 247 | Kartik K. Agaram | 2014-11-07 | 1 | -3/+8 |
| | |||||
* | 246 | Kartik K. Agaram | 2014-11-07 | 1 | -6/+7 |
| | |||||
* | 244 | Kartik K. Agaram | 2014-11-06 | 1 | -2/+2 |
| | |||||
* | 242 | Kartik K. Agaram | 2014-11-06 | 1 | -13/+0 |
| | |||||
* | 241 - 'sleep' on a memory location | Kartik K. Agaram | 2014-11-06 | 1 | -5/+18 |
| | | | | I thought we could be oblivious of channels, but that requires more work. | ||||
* | 240 | Kartik K. Agaram | 2014-11-06 | 1 | -6/+6 |
| | |||||
* | 239 | Kartik K. Agaram | 2014-11-06 | 1 | -2/+2 |
| | |||||
* | 238 - avoid deadlock if all jobs are sleeping | Kartik K. Agaram | 2014-11-06 | 1 | -2/+9 |
| | |||||
* | 237 - rudimentary 'sleep' | Kartik K. Agaram | 2014-11-06 | 1 | -3/+23 |
| | |||||
* | 235 | Kartik K. Agaram | 2014-11-06 | 1 | -3/+3 |
| | |||||
* | 234 | Kartik K. Agaram | 2014-11-06 | 1 | -40/+39 |
| | |||||
* | 233 - start tracking global cycle count | Kartik K. Agaram | 2014-11-06 | 1 | -14/+14 |
| | | | | We're gonna need this to implement 'sleep'. | ||||
* | 231 | Kartik K. Agaram | 2014-11-06 | 1 | -34/+35 |
| | |||||
* | 230 | Kartik K. Agaram | 2014-11-06 | 1 | -1/+2 |
| | |||||
* | 229 | Kartik K. Agaram | 2014-11-04 | 1 | -4/+0 |
| | |||||
* | 228 - rudimentary read from channel | Kartik K. Agaram | 2014-11-04 | 1 | -0/+9 |
| | |||||
* | 227 | Kartik K. Agaram | 2014-11-04 | 1 | -1/+4 |
| | |||||
* | 225 - simple writes to channel | Kartik K. Agaram | 2014-11-04 | 1 | -0/+11 |
| | |||||
* | 223 | Kartik K. Agaram | 2014-11-04 | 1 | -2/+3 |
| | |||||
* | 222 - trace cleanup | Kartik K. Agaram | 2014-11-04 | 1 | -13/+35 |
| | |||||
* | 221 | Kartik K. Agaram | 2014-11-04 | 1 | -0/+19 |
| | |||||
* | 219 | Kartik K. Agaram | 2014-11-03 | 1 | -3/+6 |
| | |||||
* | 217 | Kartik K. Agaram | 2014-11-03 | 1 | -1/+1 |
| | |||||
* | 216 | Kartik K. Agaram | 2014-11-03 | 1 | -5/+5 |
| | |||||
* | 215 - allow record fields to be named | Kartik K. Agaram | 2014-11-03 | 1 | -6/+19 |
| | |||||
* | 213 - bring back the fork example | Kartik K. Agaram | 2014-11-01 | 1 | -2/+4 |
| | |||||
* | 210 - go over mu.arc.t narrative | Kartik K. Agaram | 2014-11-01 | 1 | -2/+2 |
| | |||||
* | 201 | Kartik K. Agaram | 2014-11-01 | 1 | -15/+9 |
| |