Commit Graph

21 Commits

Author SHA1 Message Date
Andrew Morris
68f122ec37 Optimize subcall into apply and down to just call when %this isn't used 2023-07-26 09:16:50 +10:00
Andrew Morris
296f24e6af Add const_apply instruction 2023-07-25 17:46:41 +10:00
Andrew Morris
c1fca06f23 Add function(uses_this) to kal 2023-07-25 17:34:01 +10:00
Andrew Morris
b300428a38 class static subscripting in kal 2023-07-25 17:18:40 +10:00
Andrew Morris
474047aec2 Move sub() inside kal 2023-07-25 17:14:01 +10:00
Andrew Morris
ed0d2665fd Add Value::Class, Kal::Class 2023-07-25 10:20:48 +10:00
Andrew Morris
e81eb6d1e2 Fix clippy issues 2023-07-24 10:38:46 +10:00
Andrew Morris
581965e01b Make clippy a happy chappy 2023-07-07 16:08:28 +10:00
Andrew Morris
1cbc6fdb09 Simplify just-reg edge case 2023-07-06 23:55:19 +10:00
Andrew Morris
afd0c46495 Avoid making new registers when knowledge is just a register map 2023-07-06 23:48:59 +10:00
Andrew Morris
5a39f7996f Capture registers in knowledge when overwritten 2023-07-06 23:26:05 +10:00
Andrew Morris
385d63374d Implement string.length for Kal 2023-07-06 17:46:17 +10:00
Andrew Morris
5a6d11c980 Implement string indexing for Kal 2023-07-06 17:38:08 +10:00
Andrew Morris
d217f60967 Add jmpif_not instruction 2023-07-03 09:33:47 +10:00
Andrew Morris
571c5760a4 Allow sub instructions to be simplified to mov 2023-07-02 09:20:59 +10:00
Andrew Morris
74ed734847 Fix missed substitution bug 2023-07-02 08:59:49 +10:00
Andrew Morris
ff8defcf9f Simplify eg op+ 1 2 %dst to mov 3 %dst 2023-07-01 17:44:47 +10:00
Andrew Morris
42c314eccf Put constants in Kal 2023-07-01 17:29:47 +10:00
Andrew Morris
530c025864 Basic subscripting for Kal 2023-07-01 16:33:11 +10:00
Andrew Morris
98441e8070 Make name consistent 2023-07-01 16:04:23 +10:00
Andrew Morris
c91c86ecd6 Kal (refactor) 2023-07-01 16:01:28 +10:00