Irmen de Jong
|
1152191f48
|
add optimization: replace simple for loops by repeat loop
|
2023-03-15 21:11:37 +01:00 |
|
Irmen de Jong
|
af1b07ad44
|
add more referencesIdentifier() on ast nodes
|
2023-03-15 20:44:24 +01:00 |
|
Irmen de Jong
|
b8113fff1e
|
todo
|
2023-03-15 01:05:48 +01:00 |
|
Irmen de Jong
|
e2c101206c
|
removed a problematic asm optimization step that could result in dysfunctional code when writing to I/O addresses
|
2023-03-14 22:14:48 +01:00 |
|
Irmen de Jong
|
92276b5769
|
IR fix unneeded register allocated for array indexing with variable
|
2023-03-14 21:24:44 +01:00 |
|
Irmen de Jong
|
a2133f61a8
|
get rid of all the require() checks that test result regs to be different
|
2023-03-14 01:01:46 +01:00 |
|
Irmen de Jong
|
199adbbcf0
|
IR: don't allow to have 2 same registers on instructions
|
2023-03-14 00:45:41 +01:00 |
|
Irmen de Jong
|
025183602f
|
refactor IR returnregs 6
|
2023-03-13 21:35:23 +01:00 |
|
Irmen de Jong
|
451e527b7c
|
refactor IR returnregs 4
|
2023-03-13 03:54:16 +01:00 |
|
Irmen de Jong
|
54dd3a00df
|
refactor IR returnregs 3
|
2023-03-13 03:20:06 +01:00 |
|
Irmen de Jong
|
03c5dab79d
|
refactor IR returnregs 2
|
2023-03-13 02:50:41 +01:00 |
|
Irmen de Jong
|
78a097585d
|
new IR call and return instructions to deal with returnregisters
|
2023-03-12 21:54:59 +01:00 |
|
Irmen de Jong
|
39132327cc
|
added optimizer for IR code
with two very simple optimizations
|
2023-03-12 20:30:51 +01:00 |
|
Irmen de Jong
|
592f74124c
|
fix startup subroutine linking in VM
|
2023-03-12 16:09:55 +01:00 |
|
Irmen de Jong
|
d76547ead4
|
don't crash on certain undefined symbols, give proper error instead
Also the error handlers in unit tests now de-duplicate messages just like the compiler itself does
|
2023-03-11 14:58:41 +01:00 |
|
Irmen de Jong
|
043df18daa
|
set X to bottom part of eval stack in irq handler. fixes #94
|
2023-03-10 23:29:34 +01:00 |
|
Irmen de Jong
|
96996bf18e
|
be less aggressive with translating adds/subs into auto inc/decrements, to avoid code bloat
|
2023-03-10 23:01:55 +01:00 |
|
Irmen de Jong
|
f350137a14
|
fix array in place assignments
fixes balls and snow examples amongst others
|
2023-03-10 04:07:50 +01:00 |
|
Irmen de Jong
|
6c34672549
|
array in-place assignment problem
|
2023-03-10 02:02:47 +01:00 |
|
Irmen de Jong
|
9a36e8ba3b
|
todo
|
2023-03-09 00:00:03 +01:00 |
|
Irmen de Jong
|
c968bacb01
|
fix pokew() crash with certain address expressions
|
2023-03-08 23:29:57 +01:00 |
|
Irmen de Jong
|
25199dfb43
|
change tokenizer so that A,X,Y now are parsed correctly as identifiers as well
|
2023-03-08 22:57:19 +01:00 |
|
Irmen de Jong
|
fc253237c9
|
fix issues with reporting inlined subroutines as unused
|
2023-03-07 23:47:14 +01:00 |
|
Irmen de Jong
|
589948c7f4
|
fix IR translateIfElseNonZeroComparison for ints + floats
|
2023-03-07 23:07:51 +01:00 |
|
Irmen de Jong
|
fd07ae5225
|
fix various IR file and symboltable issues
|
2023-03-07 19:40:11 +01:00 |
|
Irmen de Jong
|
1436480eab
|
added a few more comparison expression optimizations
|
2023-03-04 16:01:40 +01:00 |
|
Irmen de Jong
|
448d176c24
|
fix vm crash on empty string
|
2023-03-04 15:35:54 +01:00 |
|
Irmen de Jong
|
fd269453a4
|
todos
|
2023-03-04 14:14:01 +01:00 |
|
Irmen de Jong
|
3114ab87dc
|
add 8 bit sample width support
|
2023-03-03 17:12:44 +01:00 |
|
Irmen de Jong
|
00bc99cc7b
|
added cx16/stream-wav example, refactor pcmaudio code
|
2023-03-03 14:18:13 +01:00 |
|
Irmen de Jong
|
540b3ae2f4
|
tweak BinaryExpression splitting
|
2023-02-28 21:45:38 +01:00 |
|
Irmen de Jong
|
dbfe4140e1
|
improved import search paths
|
2023-02-28 20:08:11 +01:00 |
|
Irmen de Jong
|
ded2483fc0
|
cx16 startup code now properly turns off mouse cursor
|
2023-02-27 23:35:42 +01:00 |
|
Irmen de Jong
|
ba9268a09e
|
added -varshigh compiler option to move BSS section.
Documented BSS a bit in the manual.
|
2023-02-22 22:44:29 +01:00 |
|
Irmen de Jong
|
5318ba6c6e
|
shrink evalstack from 2 to 1 page
c64=$cf00-$cfff, x16: $0700-$07ff
|
2023-02-21 22:52:04 +01:00 |
|
Irmen de Jong
|
fd5ebef488
|
cx16 startup code now also selects ram bank 1
|
2023-02-21 21:53:32 +01:00 |
|
Irmen de Jong
|
d9e4f39ddc
|
memset BSS section to zero all at once, less individual var=0 assigns
|
2023-02-21 00:26:21 +01:00 |
|
Irmen de Jong
|
0ea70ba656
|
fix proper initialization of zeropagevars with 'noreinit'
|
2023-02-20 23:05:27 +01:00 |
|
Irmen de Jong
|
c3c82282ba
|
reinitGlobals option is clearer than the inverse
|
2023-02-19 19:09:29 +01:00 |
|
Irmen de Jong
|
adc15c24ef
|
introduce bss segments
|
2023-02-19 18:12:37 +01:00 |
|
Irmen de Jong
|
dddf9a9396
|
remove explicit 'bss' from St var, changed to 'uninitialized'
|
2023-02-19 16:50:06 +01:00 |
|
Irmen de Jong
|
9ca6860ffa
|
tweak
|
2023-02-19 15:08:16 +01:00 |
|
Irmen de Jong
|
6012839f0e
|
todo
|
2023-02-16 23:06:09 +01:00 |
|
Irmen de Jong
|
8e9cbab053
|
todo
|
2023-02-16 22:53:16 +01:00 |
|
Irmen de Jong
|
c59df6ec20
|
optimize isZpVar
|
2023-02-16 00:41:20 +01:00 |
|
Irmen de Jong
|
5e8f767642
|
6502 codegen on new Pt-AST.
|
2023-01-22 17:10:52 +01:00 |
|
Irmen de Jong
|
bbf6357222
|
remove workaround for black cursor at boot as this was recently fixed in the kernal rom.
|
2023-01-17 23:27:27 +01:00 |
|
Irmen de Jong
|
dc16629c24
|
todo
|
2023-01-04 23:57:59 +01:00 |
|
Irmen de Jong
|
3718b9d768
|
less joins
|
2023-01-02 02:10:38 +01:00 |
|
Irmen de Jong
|
c25eb088ec
|
redo 8e730ef93d to avoid larger code generated
|
2023-01-01 23:43:33 +01:00 |
|