Andrew Morris
|
57b3a6b543
|
Implement typescript param props
|
2023-07-06 16:30:24 +10:00 |
|
Andrew Morris
|
262ac430f4
|
Simplify get_pattern_register
|
2023-07-06 14:17:52 +10:00 |
|
Andrew Morris
|
2952d69698
|
Fix this params
|
2023-07-06 14:06:51 +10:00 |
|
Andrew Morris
|
9000487b2f
|
Fix switch tests
|
2023-07-06 10:27:41 +10:00 |
|
Andrew Morris
|
ced2b3cee6
|
Implement switch
|
2023-07-06 10:22:05 +10:00 |
|
Andrew Morris
|
5b7626735d
|
Remove mov where arg and dst are the same
|
2023-07-05 12:24:45 +10:00 |
|
Andrew Morris
|
70102961c6
|
Fix test
|
2023-07-05 12:22:17 +10:00 |
|
Andrew Morris
|
3f63091e07
|
Use return register when a variable is always returned
|
2023-07-05 11:44:14 +10:00 |
|
Andrew Morris
|
d38abb7377
|
Collapse jump to jump
|
2023-07-04 22:50:13 +10:00 |
|
Andrew Morris
|
063ab365a7
|
Remove unused registers
|
2023-07-04 11:01:07 +10:00 |
|
Andrew Morris
|
0366d098c0
|
Remove redundant ends, fix next_instruction_index
|
2023-07-03 12:19:51 +10:00 |
|
Andrew Morris
|
07e299614f
|
Simplify jumps
|
2023-07-03 11:59:04 +10:00 |
|
Andrew Morris
|
eca2cda3d5
|
Use half indentation for labels
|
2023-07-03 11:16:34 +10:00 |
|
Andrew Morris
|
9b9b342110
|
Use 4 space indentation for assembly
|
2023-07-03 11:15:36 +10:00 |
|
Andrew Morris
|
ca01d8169d
|
Remove empty lines before labels
|
2023-07-03 11:12:19 +10:00 |
|
Andrew Morris
|
d89103de79
|
Optimize after removing unused labels
|
2023-07-03 10:48:57 +10:00 |
|
Andrew Morris
|
b7d5101bf4
|
Remove unused labels
|
2023-07-03 10:45:20 +10:00 |
|
Andrew Morris
|
29835bf732
|
Replace negate+jmpif with jmpif_not
|
2023-07-03 09:56:00 +10:00 |
|
Andrew Morris
|
d217f60967
|
Add jmpif_not instruction
|
2023-07-03 09:33:47 +10:00 |
|
Andrew Morris
|
adce30305f
|
jmpif true label -> jmp label
|
2023-07-02 09:55:38 +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
|
edecfeeb1f
|
Do some repeated optimization
|
2023-07-01 17:57:18 +10:00 |
|
Andrew Morris
|
0f9c10f07c
|
Run simplify twice
|
2023-07-01 17:56:46 +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
|
dada0cb779
|
Extract constants later so that simplify has more information
|
2023-07-01 17:12:41 +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 |
|
Andrew Morris
|
e3f611cf59
|
Simplify and improve handle_releases_impl
|
2023-07-01 10:03:32 +10:00 |
|
Andrew Morris
|
4a79be29d1
|
Release after throw
|
2023-07-01 08:56:29 +10:00 |
|
Andrew Morris
|
f985698724
|
Release registers upon return
|
2023-07-01 08:24:42 +10:00 |
|
Andrew Morris
|
52f42334b3
|
Imply release on assignment
|
2023-06-30 18:33:33 +10:00 |
|
Andrew Morris
|
264b8dee40
|
remove_noops
|
2023-06-30 17:19:28 +10:00 |
|
Andrew Morris
|
25ba1d97eb
|
remove_meta_lines
|
2023-06-30 14:36:55 +10:00 |
|
Andrew Morris
|
6ee59518cf
|
Take registers and remove unused movs
|
2023-06-30 14:12:27 +10:00 |
|
Andrew Morris
|
3720a2b563
|
Fix non-deterministic assembly ordering
|
2023-06-30 13:12:20 +10:00 |
|
Andrew Morris
|
9453b69f9e
|
Simplify simplify_line
|
2023-06-30 12:52:36 +10:00 |
|
Andrew Morris
|
2c6faa0289
|
Simplify instruction_needs_mutable_this
|
2023-06-30 12:39:30 +10:00 |
|
Andrew Morris
|
3e5aea5ba3
|
visit_registers_mut_rev
|
2023-06-30 12:19:36 +10:00 |
|
Andrew Morris
|
f20cbc9a36
|
Use register for this argument of Apply, SubCall, ThisSubCall
|
2023-06-30 11:47:18 +10:00 |
|
Andrew Morris
|
98c7839d68
|
Use single impl
|
2023-06-30 10:57:43 +10:00 |
|
Andrew Morris
|
d668433339
|
Move Instruction to its own file
|
2023-06-30 10:57:05 +10:00 |
|
Andrew Morris
|
3d5dada476
|
move (release ..) to after usage
|
2023-06-30 10:47:13 +10:00 |
|
Andrew Morris
|
da94fcb947
|
Add release pseudo-instruction
|
2023-06-30 10:04:08 +10:00 |
|
Andrew Morris
|
4005510bf2
|
Remove .take() from compiler first pass
|
2023-06-30 09:47:31 +10:00 |
|
Andrew Morris
|
ae4c0a5be2
|
Don't extract empty arrays and objects
|
2023-06-30 09:36:36 +10:00 |
|
Andrew Morris
|
ebf4ca9ae4
|
Fix bugs
|
2023-06-29 19:26:42 +10:00 |
|
Andrew Morris
|
842ad083b5
|
wip
|
2023-06-29 18:39:02 +10:00 |
|