Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 7187 | Kartik Agaram | 2020-11-05 | 16 | -23760/+27189 |
| | |||||
* | 7186 | Kartik Agaram | 2020-11-05 | 1 | -3/+4 |
| | |||||
* | 7185 - type checks for 'populate-stream' | Kartik Agaram | 2020-11-05 | 2 | -4/+437 |
| | | | | Lots of copy-pasta. | ||||
* | 7184 - type checks for 'populate' | Kartik Agaram | 2020-11-05 | 2 | -7/+447 |
| | |||||
* | 7183 - type checks for 'allocate' | Kartik Agaram | 2020-11-05 | 2 | -1/+347 |
| | |||||
* | 7182 - type checks for 'copy-object' | Kartik Agaram | 2020-11-05 | 2 | -1/+412 |
| | |||||
* | 7181 - type checks for 'address' instruction | Kartik Agaram | 2020-11-05 | 3 | -2/+595 |
| | |||||
* | 7180 | Kartik Agaram | 2020-11-04 | 3 | -12/+173 |
| | | | | | | | More bugfixes, now all apps are working. In the process of fixing the bugs in translating apps/browse, I found a typo in apps/tile that just happened to accidentally be compiling fine. | ||||
* | 7179 | Kartik Agaram | 2020-11-04 | 2 | -0/+31 |
| | | | | | | After this bugfix, apps/tile/ is now working. apps/browse/ is still failing. | ||||
* | 7178 - type checks for 'compare' instruction | Kartik Agaram | 2020-11-04 | 2 | -1/+553 |
| | |||||
* | 7177 - type checks for 'copy-to' instruction | Kartik Agaram | 2020-11-04 | 2 | -12/+400 |
| | |||||
* | 7176 - type checks for 'copy' instruction | Kartik Agaram | 2020-11-04 | 3 | -104/+473 |
| | |||||
* | 7175 | Kartik Agaram | 2020-11-03 | 20 | -28068/+29016 |
| | |||||
* | 7174 - function returns should now be safe | Kartik Agaram | 2020-11-03 | 2 | -4/+197 |
| | |||||
* | 7173 | Kartik Agaram | 2020-11-03 | 12 | -12/+108 |
| | | | | All tests passing again. | ||||
* | 7172 | Kartik Agaram | 2020-11-03 | 1 | -1/+1 |
| | |||||
* | 7171 | Kartik Agaram | 2020-11-03 | 1 | -1/+1 |
| | |||||
* | 7170 | Kartik Agaram | 2020-11-03 | 1 | -0/+47 |
| | | | | One more test. | ||||
* | 7169 | Kartik Agaram | 2020-11-03 | 1 | -7/+88 |
| | | | | | | | Now test-return-unavailable-value is passing, but test-convert-return-with-duplicate-values is failing. Time to think. | ||||
* | 7168 - snapshot | Kartik Agaram | 2020-11-03 | 1 | -0/+93 |
| | | | | | | | | 2 new tests: test-return-unavailable-value - currently failing test-convert-return-with-duplicate-values - currently passing I don't yet know how to make both pass. | ||||
* | 7167 | Kartik Agaram | 2020-11-03 | 2 | -1/+74 |
| | |||||
* | 7166 | Kartik Agaram | 2020-11-03 | 3 | -45/+170 |
| | |||||
* | 7165 | Kartik Agaram | 2020-11-03 | 7 | -30/+97 |
| | | | | | All tasks of https://github.com/akkartik/mu/issues/45#issuecomment-719990879 should now be complete. | ||||
* | 7164 | Kartik Agaram | 2020-11-03 | 2 | -1/+112 |
| | |||||
* | 7163 - first type checks for 'return' statements | Kartik Agaram | 2020-11-03 | 3 | -5/+127 |
| | |||||
* | 7162 | Kartik Agaram | 2020-11-02 | 83 | -33153/+37215 |
| | |||||
* | 7161 - stop processing function outputs | Kartik Agaram | 2020-11-02 | 2 | -601/+109 |
| | | | | | | Assignments to them will no longer work, and they can never be live variables. https://github.com/akkartik/mu/issues/45#issuecomment-719990879, task 3. | ||||
* | 7160 | Kartik Agaram | 2020-11-02 | 2 | -133/+133 |
| | |||||
* | 7159 - explicitly use 'return' everywhere | Kartik Agaram | 2020-11-02 | 18 | -455/+407 |
| | | | | https://github.com/akkartik/mu/issues/45#issuecomment-719990879, task 2. | ||||
* | 7158 | Kartik Agaram | 2020-11-02 | 4 | -372/+310 |
| | |||||
* | 7157 | Kartik Agaram | 2020-11-01 | 6 | -101/+96 |
| | |||||
* | 7156 | Kartik Agaram | 2020-11-01 | 2 | -3/+6 |
| | |||||
* | 7155 | Kartik Agaram | 2020-11-01 | 1 | -12/+12 |
| | | | | apps/arith.mu compiling again. | ||||
* | 7154 | Kartik Agaram | 2020-11-01 | 12 | -369/+141 |
| | |||||
* | 7153 | Kartik Agaram | 2020-11-01 | 2 | -3/+7 |
| | | | | Bugfix in computing the label a return should jump to. | ||||
* | 7152 - 'return' instruction | Kartik Agaram | 2020-11-01 | 4 | -1/+644 |
| | | | | | | https://github.com/akkartik/mu/issues/45#issuecomment-719990879, task 1. We don't have checking for it yet. Soon. | ||||
* | 7151 | Kartik Agaram | 2020-11-01 | 2 | -97/+46 |
| | | | | Drop pending tests for the old plan of liveness analysis. | ||||
* | 7150 | Kartik Agaram | 2020-10-31 | 1 | -0/+16 |
| | |||||
* | 7149 | Kartik Agaram | 2020-10-31 | 1 | -1/+1 |
| | |||||
* | 7148 | Kartik Agaram | 2020-10-31 | 2 | -5/+2 |
| | |||||
* | 7147 | Kartik Agaram | 2020-10-31 | 2 | -8/+14 |
| | |||||
* | 7146 | Kartik Agaram | 2020-10-31 | 2 | -173/+173 |
| | |||||
* | 7145 - roll back to 7143 | Kartik Agaram | 2020-10-30 | 1 | -89/+174 |
| | |||||
* | 7144 - tmp: redo checks for function outputs | Kartik Agaram | 2020-10-30 | 1 | -174/+89 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This isn't done, but an intermediate snapshot seems worth capturing. Back in March (commit 6082), I made a plan to check writes to function outputs using liveness analysis. I've been shying away from actually acting on this plan ever since. In recent weeks I've had this gap bite me three times. Returning to the problem now, I think I don't actually need to compute variable liveness. The compiler can, I think, do the same thing for output registers whether their variables are alive or dead. The new rule is this: Once a register gets a function output written to it, no local is popped into it. Instead of popping outer locals to the register, we simply increment the stack and keep going. Since the function output will continue to live on the vars stack past this point (see clean-up-block), any attempts to read shadowed variables will throw an error as usual. This rule is also now easy to explain to people, I think. "You wrote the function output. Now the register can't be used for anything else." It's really cool that this works (if it does). Another fruit from "Mu's lovely property." | ||||
* | 7143 | Kartik Agaram | 2020-10-29 | 2 | -1/+1 |
| | | | | Am I starting to have too much code duplication? | ||||
* | 7142 | Kartik Agaram | 2020-10-29 | 2 | -0/+4 |
| | |||||
* | 7141 | Kartik Agaram | 2020-10-29 | 2 | -4/+1 |
| | |||||
* | 7140 | Kartik Agaram | 2020-10-29 | 1 | -0/+11 |
| | |||||
* | 7139 - type-check compute-offset | Kartik Agaram | 2020-10-29 | 2 | -13/+908 |
| | |||||
* | 7138 - type-check array 'length' instruction | Kartik Agaram | 2020-10-29 | 16 | -6/+838 |
| |