Irmen de Jong
|
2725c4ad4d
|
slight tweaks to zp and allocator
|
2022-02-12 00:15:52 +01:00 |
|
Irmen de Jong
|
c8cd6e9460
|
removed old @"screencodes" string encoding syntax (use sc:"hello" instead)
|
2022-02-11 22:07:14 +01:00 |
|
Irmen de Jong
|
0cd27d6129
|
fix empty lines in subroutine ast printing
|
2022-02-11 21:44:38 +01:00 |
|
Irmen de Jong
|
de6ef7ef5e
|
doc
|
2022-02-11 00:16:39 +01:00 |
|
Irmen de Jong
|
c13b7fd883
|
report free/occupied Zeropage space at end of compilation
|
2022-02-10 21:59:44 +01:00 |
|
Irmen de Jong
|
343f01d5e1
|
re-enabled unused variable removal from library modules (+fixed some @shared vars in libraries)
|
2022-02-10 03:10:47 +01:00 |
|
Irmen de Jong
|
08bacdd090
|
temp vars are now dynamically added to AST as needed
|
2022-02-10 02:52:47 +01:00 |
|
Irmen de Jong
|
41b1c80492
|
label name from memory() no longer interned as string var
|
2022-02-10 00:45:20 +01:00 |
|
Irmen de Jong
|
e5d7316e5d
|
streamlining non-zpvars asmgen using new mechanism
|
2022-02-10 00:09:09 +01:00 |
|
Irmen de Jong
|
98b2855b9c
|
cleanups
|
2022-02-09 16:35:52 +01:00 |
|
Irmen de Jong
|
f3c52c409f
|
variable zp allocation now only done in the allocator
|
2022-02-08 23:44:21 +01:00 |
|
Irmen de Jong
|
1307bdc612
|
more cleanups to the allocator
|
2022-02-08 22:46:49 +01:00 |
|
Irmen de Jong
|
8c2e6971fc
|
start using vars instead of callgraph (2)
|
2022-02-08 21:09:00 +01:00 |
|
Irmen de Jong
|
7d67005709
|
more rewrite variable allocation
|
2022-02-08 20:40:10 +01:00 |
|
Irmen de Jong
|
101fb0b8aa
|
some naming changes and cleanups
|
2022-02-06 23:14:44 +01:00 |
|
Irmen de Jong
|
10de7dc1f9
|
fixed the concurrent modification issue on zeropage when running unit tests in parallel, by not having machine targets be static objects
|
2022-02-06 21:29:06 +01:00 |
|
Irmen de Jong
|
6bdd81623f
|
cleaning up AsmGen interface
|
2022-02-06 17:07:03 +01:00 |
|
Irmen de Jong
|
8ae3bad6f7
|
fix rts in empty asmsub
|
2022-02-06 05:05:58 +01:00 |
|
Irmen de Jong
|
77de99b383
|
rts-check for non-inlined subroutines + var init adjustment when noreinit, moved out of codegen
|
2022-02-06 04:03:03 +01:00 |
|
Irmen de Jong
|
312949f336
|
added experimental codegen backend option
|
2022-02-05 21:42:03 +01:00 |
|
Irmen de Jong
|
08e052380a
|
comments
|
2022-02-05 03:14:26 +01:00 |
|
Irmen de Jong
|
6916b8bff7
|
remove redundant properties
|
2022-02-03 23:59:24 +01:00 |
|
Irmen de Jong
|
69b9dfa468
|
fix invalid recursion warning for code referencing subroutine but not via a call
|
2022-02-01 23:09:52 +01:00 |
|
Irmen de Jong
|
ab61b8ba0a
|
doc ref
|
2022-02-01 21:47:53 +01:00 |
|
Irmen de Jong
|
5c8c64242f
|
callgraph: nameInAssemblyCode searches smarter (for unused())
|
2022-02-01 00:33:05 +01:00 |
|
Irmen de Jong
|
e773be2f58
|
remove no longer needed asmSymbol scoping prefixing, now asmSymbolName are identical to asmVarName
|
2022-01-31 01:47:22 +01:00 |
|
Irmen de Jong
|
f965804e6d
|
fix invalid optimization of returning a parameter variable in a subroutine
|
2022-01-28 16:44:42 +01:00 |
|
Irmen de Jong
|
ec078eba72
|
optimize w=msb(w) => w>>=8, w=lsb(w) ==> w&=$00ff
|
2022-01-28 16:11:52 +01:00 |
|
Irmen de Jong
|
7b3cd71085
|
fixed improper optimization of word<<8 and word>>8
|
2022-01-28 13:54:06 +01:00 |
|
Irmen de Jong
|
06128b5d07
|
optimize word&=$ff00 and word&=$00ff
|
2022-01-28 13:40:28 +01:00 |
|
Irmen de Jong
|
a170506356
|
simplify IdentifierReference equality check back to default (name+pos)
|
2022-01-27 23:32:55 +01:00 |
|
Irmen de Jong
|
5ecf2a3357
|
enable more optimizations for typecasted assignments. Fixed missing codegen for assigning bytes to words in certain cases.
|
2022-01-27 18:05:25 +01:00 |
|
Irmen de Jong
|
e2b8c069d7
|
check for missing '&' in string + value expressions (can't just add a value to a string)
|
2022-01-24 23:30:40 +01:00 |
|
Irmen de Jong
|
08db72903c
|
for long containment checks use a subroutine instead of huge cmp-table
|
2022-01-24 22:40:22 +01:00 |
|
Irmen de Jong
|
46f9fab140
|
library API change: string.find now returns index of character + carry bit status (instead of substring address)
|
2022-01-24 21:37:04 +01:00 |
|
Irmen de Jong
|
b7d06f2c0a
|
API change: added alignment parameter to memory() function
|
2022-01-24 18:58:57 +01:00 |
|
Irmen de Jong
|
118196a0bf
|
library API change: moved cx16.vload() to cx16diskio module
|
2022-01-24 18:31:18 +01:00 |
|
Irmen de Jong
|
586ce1fc80
|
tweak return's use of intermediate variable
|
2022-01-24 01:10:04 +01:00 |
|
Irmen de Jong
|
adb979df38
|
tweak comment
|
2022-01-23 22:34:05 +01:00 |
|
Irmen de Jong
|
3401cb5b4a
|
fixed compiler recursion crash when returning certain typecasted value
|
2022-01-23 19:13:20 +01:00 |
|
Irmen de Jong
|
ebf1f12e97
|
inferred type for len() is now more precise
|
2022-01-23 17:24:39 +01:00 |
|
Irmen de Jong
|
5766208207
|
fix compiler crash when initializing an array var with another array var
|
2022-01-23 14:23:34 +01:00 |
|
Irmen de Jong
|
4bf4771f08
|
fix @requirezp in astToSource. Fix sometimes allocating zeropage variables in normal ram.
|
2022-01-23 13:42:52 +01:00 |
|
Irmen de Jong
|
0e87db9eb7
|
fix invalid size copied when initializing arrays in Zeropage
|
2022-01-23 13:00:01 +01:00 |
|
Irmen de Jong
|
1e053783f3
|
fix invalid size copied when assigning non-byte arrays
|
2022-01-23 02:42:36 +01:00 |
|
Irmen de Jong
|
7afc96112b
|
now correctly requires using & (address-of) when assigning the address of a label or subroutine, used to generate invalid code when it was omitted
|
2022-01-23 02:23:30 +01:00 |
|
Irmen de Jong
|
7bb41a30ed
|
fixed compiler crash when assigning number larger than 65535
|
2022-01-23 01:44:16 +01:00 |
|
Irmen de Jong
|
3d1b0eb843
|
fixed compiler crash when using cx16.r0H as function call argument
|
2022-01-23 01:28:16 +01:00 |
|
Irmen de Jong
|
5b9af0b5ae
|
tweaks
|
2022-01-21 23:38:54 +01:00 |
|
Irmen de Jong
|
9219ec539d
|
allow "goto pointervar" for indirect jumps
|
2022-01-21 22:55:59 +01:00 |
|