Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mu.subx: test-compare-mem-with-reg | Kartik Agaram | 2020-05-18 | 1 | -22/+65 |
| | |||||
* | mu.subx: test-add-literal-to-mem | Kartik Agaram | 2020-05-18 | 1 | -20/+63 |
| | |||||
* | mu.subx: test-add-literal-to-reg | Kartik Agaram | 2020-05-18 | 1 | -32/+82 |
| | |||||
* | mu.subx: test-add-literal-to-eax | Kartik Agaram | 2020-05-18 | 1 | -23/+72 |
| | |||||
* | mu.subx: test-add-mem-to-reg | Kartik Agaram | 2020-05-18 | 1 | -18/+61 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -34/+34 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -254/+272 |
| | |||||
* | mu.subx: test-add-reg-to-mem | Kartik Agaram | 2020-05-18 | 1 | -20/+64 |
| | |||||
* | mu.subx: test-add-reg-to-reg passing | Kartik Agaram | 2020-05-18 | 1 | -12/+15 |
| | |||||
* | mu.subx: add handles to remaining decls | Kartik Agaram | 2020-05-18 | 1 | -20/+102 |
| | | | | test-add-reg-to-reg should pass now. But it doesn't.. | ||||
* | mu.subx: next test now successfully scans primitives | Kartik Agaram | 2020-05-18 | 1 | -16/+63 |
| | | | | Still failing. | ||||
* | mu.subx: switch SubX instruction names to globals | Kartik Agaram | 2020-05-18 | 1 | -81/+81 |
| | | | | | | Entirely using interactive search-and-replace in my text editor. This is all ugly as hell. But get it working first. | ||||
* | mu.subx: switch Mu instruction names to globals | Kartik Agaram | 2020-05-18 | 1 | -80/+80 |
| | |||||
* | mu.subx: global decls for all string handles | Kartik Agaram | 2020-05-18 | 1 | -116/+645 |
| | | | | | | | | | | My previous approach was way too slow. Now I just `grep`d for all string literals in the `Primitives` block, and piped them through: while read X; do echo $X |tools/expand_string_handle; done Still required some post-processing, but orders of magnitude faster and more amenable to batch-processing. | ||||
* | - | Kartik Agaram | 2020-05-18 | 3 | -34/+144 |
| | |||||
* | mu.subx: drop a redundant test | Kartik Agaram | 2020-05-18 | 1 | -64/+0 |
| | |||||
* | mu.subx: fix strings in inc/dec Primitives | Kartik Agaram | 2020-05-18 | 1 | -30/+99 |
| | |||||
* | mu.subx: insert alloc-id everywhere in Primitives | Kartik Agaram | 2020-05-18 | 1 | -0/+534 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -115/+115 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -33/+33 |
| | |||||
* | mu.subx: make handles in Primitives easier to read | Kartik Agaram | 2020-05-18 | 2 | -0/+48 |
| | |||||
* | mu.subx: fix misleading setup in passing tests | Kartik Agaram | 2020-05-18 | 1 | -5/+5 |
| | |||||
* | mu.subx: fifth code-gen test | Kartik Agaram | 2020-05-18 | 1 | -19/+70 |
| | | | | | First test using the Primitives global. It's terrible how handles mess up my syntax sugar for strings. | ||||
* | mu.subx: fourth code-gen test | Kartik Agaram | 2020-05-18 | 1 | -29/+102 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -6/+2 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -9/+18 |
| | | | | | mu-stmt-matches-primitive? is quite a gnarly function. Baby step: better names for labels, so that traces are easier to read. | ||||
* | fix a misplaced label | Kartik Agaram | 2020-05-18 | 1 | -4/+4 |
| | | | | Two tests were incorrectly passing earlier. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -8/+0 |
| | |||||
* | mu.subx: third code-gen test | Kartik Agaram | 2020-05-18 | 1 | -29/+102 |
| | | | | | This is indeed easier. Though defining the global data structure for primitives directly in the data segment is going to get ugly. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -2/+2 |
| | |||||
* | mu.subx: redo passing code-gen tests | Kartik Agaram | 2020-05-18 | 2 | -147/+118 |
| | | | | | | We've gone back and rewritten the tests to fit the older format from 3 commits ago. No behavior change, but staying close to the older format should make it easier to update the remaining tests. | ||||
* | mu.subx: another code-gen test | Kartik Agaram | 2020-05-18 | 1 | -37/+105 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -8/+4 |
| | | | | Remove one local variable and unnecessary copy. | ||||
* | mu.subx: first code-gen test passing! | Kartik Agaram | 2020-05-18 | 3 | -109/+258 |
| | |||||
* | handle nulls in lookup | Kartik Agaram | 2020-05-18 | 13 | -4/+36 |
| | | | | | | | | | Cleaner abstraction, but adds 3 instructions to our overhead for handles, including one potentially-hard-to-predict jump :/ I wish I could have put the alloc id in eax for the comparison as well, to save a few bytes of instruction space. But that messes up the non-null case. | ||||
* | mu.subx: all parsing tests passing | Kartik Agaram | 2020-05-18 | 2 | -2/+2 |
| | |||||
* | mu.subx: tests for parse-var-with-type | Kartik Agaram | 2020-05-18 | 1 | -45/+93 |
| | |||||
* | mu.subx: done with function header parsing | Kartik Agaram | 2020-05-18 | 1 | -56/+97 |
| | |||||
* | mu.subx: second parsing test | Kartik Agaram | 2020-05-18 | 1 | -30/+48 |
| | | | | | append-list is still very confusing the way it's written. Maybe I should just use an extra register or an extra local variable or something. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -2/+2 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | mu.subx: first parsing test passing | Kartik Agaram | 2020-05-18 | 1 | -13/+20 |
| | | | | | | | 2 bugfixes in this commit. I thought I'd seen append-list successfully working in some previous test, but I was wrong. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | ok, let's start running tests | Kartik Agaram | 2020-05-18 | 1 | -4/+8 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -4/+2 |
| | |||||
* | mu.subx: spilling register for reg vars | Kartik Agaram | 2020-05-18 | 2 | -20/+22 |
| | |||||
* | mu.subx: size-of-deref | Kartik Agaram | 2020-05-18 | 1 | -8/+12 |
| | |||||
* | mu.subx: size-of | Kartik Agaram | 2020-05-18 | 1 | -6/+8 |
| | |||||
* | mu.subx: populate-mu-type-offsets | Kartik Agaram | 2020-05-18 | 1 | -19/+24 |
| | | | | | | | Also locate-typeinfo-entry-with-index, though I didn't need to change much there. But it did get me to notice that I'm returning `addr` from functions. Need to correct my paper. |