Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | . | Kartik Agaram | 2019-07-12 | 2 | -4/+44 |
| | | | | | | | Continuation of commit 6f6d458fcd to support unsigned comparisons in 32-bit jumps. Once again, no tests. | ||||
* | . | Kartik Agaram | 2019-07-12 | 1 | -6/+6 |
| | |||||
* | . | Kartik Agaram | 2019-07-12 | 1 | -25/+25 |
| | |||||
* | compute-offsets test now passing | Kartik Agaram | 2019-07-12 | 2 | -49/+97 |
| | | | | The final integration test-convert-computes-addresses is still failing. | ||||
* | the pseudocode is pretty long, so add an outline | Kartik Agaram | 2019-07-12 | 1 | -2/+11 |
| | |||||
* | rearrange compute-offsets cases | Kartik Agaram | 2019-07-12 | 1 | -73/+74 |
| | | | | | Now they're in the order you expect to see them at runtime: first you see a segment header, then you see labels. | ||||
* | . | Kartik Agaram | 2019-07-12 | 1 | -26/+26 |
| | | | | move trace dump to before checks | ||||
* | . | Kartik Agaram | 2019-07-11 | 1 | -1/+0 |
| | |||||
* | one failure remaining in test-compute-offsets | Kartik Agaram | 2019-07-11 | 2 | -123/+291 |
| | | | | | | | | | 'curr-segment-name' is now a string, and it's stored in a register rather than a global. Paradoxically, this leaks *less* than before. Before, every call to `get-or-insert-slice` leaked memory. Now we leak one string for every new segment. Which is trivial. | ||||
* | . | Kartik Agaram | 2019-07-11 | 1 | -12/+12 |
| | |||||
* | . | Kartik Agaram | 2019-07-11 | 1 | -7/+5 |
| | | | | | Pseudocode is a little more truthful now about what variables are on the stack. | ||||
* | the problem: curr-segment-name is stale | Kartik Agaram | 2019-07-11 | 1 | -3/+126 |
| | | | | | | | It's a slice into the 'line' stream. But we want to preserve the current segment name across lines. Let's leak some memory. | ||||
* | . | Kartik Agaram | 2019-07-11 | 1 | -14/+14 |
| | | | | Make the trace a little more consistent. | ||||
* | label offset computation still has a bug | Kartik Agaram | 2019-07-11 | 1 | -6/+7 |
| | | | | | | I changed the test a little to make it obvious. Basically there's no way we can compute the segment offset correctly without knowing the segment name in the previous assertion. | ||||
* | revert compute-offsets to segment-relative offsets | Kartik Agaram | 2019-07-11 | 1 | -7/+7 |
| | | | | | | | | The pseudocode was a mess here :/ I was saving the segment-offset but tracing the file-offset. Segments need file offsets (to tweak their starting address). Labels need segment offsets (to add to segment starting address). | ||||
* | . | Kartik Agaram | 2019-07-11 | 1 | -2/+3 |
| | |||||
* | move discard instruction to correct spot | nc | 2019-07-11 | 1 | -2/+2 |
| | |||||
* | updated test so 'x' is relative to file-offset not segment offset | nc | 2019-07-11 | 1 | -3/+3 |
| | |||||
* | made test 2 pass | nc | 2019-07-11 | 1 | -9/+11 |
| | |||||
* | . | Kartik Agaram | 2019-07-10 | 2 | -3/+7 |
| | |||||
* | . | Kartik Agaram | 2019-07-10 | 1 | -7/+7 |
| | |||||
* | . | Kartik Agaram | 2019-07-10 | 1 | -0/+2 |
| | |||||
* | . | Kartik Agaram | 2019-07-10 | 2 | -2/+2 |
| | | | | I think we're calling the wrong variant here. | ||||
* | start distinguishing table lookups from inserts | Kartik Agaram | 2019-07-10 | 6 | -12/+382 |
| | |||||
* | zero out new rows returned by get-or-insert | Kartik Agaram | 2019-07-10 | 11 | -0/+103 |
| | |||||
* | finally tracked down binary character in traces | Kartik Agaram | 2019-07-10 | 1 | -1/+1 |
| | | | | This was why grep required the `-a` argument in vimrc.vim. | ||||
* | . | Kartik Agaram | 2019-07-10 | 7 | -5/+5 |
| | | | | | Another batch of incorrectly signed conditional jumps. (Follow-up to commit 5180.) | ||||
* | . | Kartik Agaram | 2019-07-10 | 2 | -1/+1 |
| | | | | Fix infinite loop in the 2 remaining failing tests; now it's a segfault. | ||||
* | . | Kartik Agaram | 2019-07-10 | 2 | -8/+5 |
| | |||||
* | . | Kartik Agaram | 2019-07-09 | 1 | -37/+69 |
| | |||||
* | mostly done with emit-output | Kartik Agaram | 2019-07-09 | 6 | -6/+267 |
| | | | | | Some nooks and crannies will need light final debugging with xxd, but emit-hex-output covers most of the logic. | ||||
* | done with emit-segments | Kartik Agaram | 2019-07-09 | 2 | -33/+532 |
| | | | | Only failures now are the first two tests in survey.subx. | ||||
* | bug: null address messing up instruction decode | Kartik Agaram | 2019-07-09 | 1 | -2/+7 |
| | | | | Leads to a bad error message. | ||||
* | . | Kartik Agaram | 2019-07-09 | 2 | -7/+1 |
| | | | | | | Stop dumping huge traces on error. We can always rerun with --trace. Though perhaps we should just dump the trace automatically on error. Not bothering thinking about that right now. | ||||
* | . | Kartik Agaram | 2019-07-09 | 1 | -26/+26 |
| | |||||
* | . | Kartik Agaram | 2019-07-09 | 1 | -0/+1 |
| | |||||
* | . | Kartik Agaram | 2019-07-09 | 1 | -2/+2 |
| | |||||
* | . | Kartik Agaram | 2019-07-09 | 1 | -1/+1 |
| | |||||
* | clean up after a few calls | Kartik Agaram | 2019-07-09 | 2 | -4/+9 |
| | |||||
* | preserve truthiness of non-booleans | Kartik Agaram | 2019-07-09 | 2 | -16/+12 |
| | | | | | Everywhere we check if something is true, we check it by comparing against 0, not 1. | ||||
* | this looks like a bug | Kartik Agaram | 2019-07-09 | 2 | -1/+1 |
| | | | | | But of course the test is still infinite-looping so we can't be sure. I'm still just reading the code. | ||||
* | . | Kartik Agaram | 2019-07-09 | 2 | -15/+4 |
| | |||||
* | . | Kartik Agaram | 2019-07-09 | 1 | -19/+17 |
| | |||||
* | move 'segment-start' to a global variable as well | Kartik Agaram | 2019-07-09 | 2 | -12/+10 |
| | | | | | It's ugly to have function locals in global variables, but we'll figure out later how to deal with it. | ||||
* | . | Kartik Agaram | 2019-07-09 | 1 | -8/+0 |
| | |||||
* | there's a variant of compute-width for slices | Kartik Agaram | 2019-07-09 | 1 | -9/+5 |
| | | | | | Looks like the original compute-width is now dead. But still seems useful to have around. | ||||
* | there's a variant of get-or-insert for slices | Kartik Agaram | 2019-07-09 | 2 | -27/+16 |
| | | | | | | The compute-offsets test now goes into an infinite loop :( But I figure all these changes are useful anyway, we should just debug the error separately. | ||||
* | keep labels definitions on a separate line | Kartik Agaram | 2019-07-09 | 1 | -6/+12 |
| | | | | SubX in SubX doesn't support mixing labels with other stuff :) | ||||
* | switch to global Heap | Kartik Agaram | 2019-07-09 | 2 | -10/+5 |
| | |||||
* | update library docs | Kartik Agaram | 2019-07-09 | 1 | -5/+13 |
| |