Kartik Agaram
ed146be6bc
7190
...
Training sights now on some gaps with offset types.
2020-11-05 20:49:00 -08:00
Kartik Agaram
4b41663394
7189 - some validations on function name
...
Mu has no overloading or static dispatch for now.
2020-11-05 20:10:46 -08:00
Kartik Agaram
7a25625c43
7188 - raise error on deref of var on stack
2020-11-05 19:08:44 -08:00
Kartik Agaram
f12ea75a76
7187
2020-11-05 17:07:26 -08:00
Kartik Agaram
d496dd0bbc
7186
2020-11-05 17:02:33 -08:00
Kartik Agaram
c31d1d3a3d
7185 - type checks for 'populate-stream'
...
Lots of copy-pasta.
2020-11-05 16:35:47 -08:00
Kartik Agaram
2ea3107c21
7184 - type checks for 'populate'
2020-11-05 16:27:46 -08:00
Kartik Agaram
6017f1e240
7183 - type checks for 'allocate'
2020-11-05 15:06:25 -08:00
Kartik Agaram
9b91efeadd
7182 - type checks for 'copy-object'
2020-11-05 01:20:23 -08:00
Kartik Agaram
686b87cc06
7181 - type checks for 'address' instruction
2020-11-05 00:51:15 -08:00
Kartik Agaram
cc356b35bf
7180
...
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.
2020-11-04 22:58:13 -08:00
Kartik Agaram
8767e709c5
7179
...
After this bugfix, apps/tile/ is now working.
apps/browse/ is still failing.
2020-11-04 22:38:39 -08:00
Kartik Agaram
940dad03c2
7178 - type checks for 'compare' instruction
2020-11-04 20:34:43 -08:00
Kartik Agaram
179d26ae8e
7177 - type checks for 'copy-to' instruction
2020-11-04 19:04:43 -08:00
Kartik Agaram
0102aa377a
7176 - type checks for 'copy' instruction
2020-11-04 19:04:15 -08:00
Kartik Agaram
62151e17c4
7175
2020-11-03 22:53:39 -08:00
Kartik Agaram
768aeffbbe
7174 - function returns should now be safe
2020-11-03 22:32:50 -08:00
Kartik Agaram
bd57b37fc5
7173
...
All tests passing again.
2020-11-03 21:31:48 -08:00
Kartik Agaram
da2dc3ee9d
7172
2020-11-03 20:37:26 -08:00
Kartik Agaram
c623ff2975
7171
2020-11-03 20:23:39 -08:00
Kartik Agaram
71d21ae662
7170
...
One more test.
2020-11-03 20:13:41 -08:00
Kartik Agaram
aa36ee1cdf
7169
...
Now test-return-unavailable-value is passing,
but test-convert-return-with-duplicate-values is failing.
Time to think.
2020-11-03 20:13:02 -08:00
Kartik Agaram
ec638f029d
7168 - snapshot
...
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.
2020-11-03 19:15:32 -08:00
Kartik Agaram
f7cd97c197
7167
2020-11-03 18:10:32 -08:00
Kartik Agaram
f21c96203e
7166
2020-11-03 15:42:58 -08:00
Kartik Agaram
da791479a0
7165
...
All tasks of https://github.com/akkartik/mu/issues/45#issuecomment-719990879
should now be complete.
2020-11-03 14:04:35 -08:00
Kartik Agaram
85a29a4e4e
7164
2020-11-03 13:37:32 -08:00
Kartik Agaram
65dcc74693
7163 - first type checks for 'return' statements
2020-11-03 13:29:09 -08:00
Kartik Agaram
3d1c4216ed
7162
2020-11-02 21:24:53 -08:00
Kartik Agaram
571ad49190
7161 - stop processing function outputs
...
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.
2020-11-02 21:03:03 -08:00
Kartik Agaram
95d89d1cc0
7160
2020-11-02 20:36:42 -08:00
Kartik Agaram
a3f7791586
7159 - explicitly use 'return' everywhere
...
https://github.com/akkartik/mu/issues/45#issuecomment-719990879 , task 2.
2020-11-02 19:50:52 -08:00
Kartik Agaram
951c3f4c92
7158
2020-11-02 00:07:07 -08:00
Kartik Agaram
c8e41a470f
7157
2020-11-01 22:17:40 -08:00
Kartik Agaram
34063288c9
7156
2020-11-01 22:07:40 -08:00
Kartik Agaram
10adec2f21
7155
...
apps/arith.mu compiling again.
2020-11-01 22:04:35 -08:00
Kartik Agaram
17623a628a
7154
2020-11-01 22:02:13 -08:00
Kartik Agaram
cc7dcdc3b8
7153
...
Bugfix in computing the label a return should jump to.
2020-11-01 20:37:56 -08:00
Kartik Agaram
ccadc6e604
7152 - 'return' instruction
...
https://github.com/akkartik/mu/issues/45#issuecomment-719990879 , task 1.
We don't have checking for it yet. Soon.
2020-11-01 18:02:02 -08:00
Kartik Agaram
c694b8e2cb
7151
...
Drop pending tests for the old plan of liveness analysis.
2020-11-01 11:19:03 -08:00
Kartik Agaram
c3964ff60a
7150
2020-10-31 20:38:11 -07:00
Kartik Agaram
84a7745224
7149
2020-10-31 20:37:36 -07:00
Kartik Agaram
77687ba944
7148
2020-10-31 20:29:09 -07:00
Kartik Agaram
1323587822
7147
2020-10-31 19:55:33 -07:00
Kartik Agaram
3f30e4c6e6
7146
2020-10-31 19:50:41 -07:00
Kartik Agaram
8c44afcccc
7145 - roll back to 7143
2020-10-30 20:23:56 -07:00
Kartik Agaram
264acd9ec9
7144 - tmp: redo checks for function outputs
...
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."
2020-10-30 06:05:52 -07:00
Kartik Agaram
8fe51755bf
7143
...
Am I starting to have too much code duplication?
2020-10-29 22:06:50 -07:00
Kartik Agaram
2486881de0
7142
2020-10-29 21:36:33 -07:00
Kartik Agaram
0a5d247ba7
7141
2020-10-29 21:15:15 -07:00