Irmen de Jong
|
fe011de934
|
fix the missing cases in certain expressions that need the address of a split word array
|
2024-12-25 16:55:07 +01:00 |
|
Irmen de Jong
|
3850e1dbb5
|
Merge branch 'better-ir'
|
2024-12-24 21:23:57 +01:00 |
|
Irmen de Jong
|
5071da6784
|
retain constants in IR
some IR related cleanups
|
2024-12-24 00:30:08 +01:00 |
|
Irmen de Jong
|
2727a4dcb3
|
tweak DataType class and memsizer related to subtypes/elementtypes
|
2024-12-23 17:28:25 +01:00 |
|
Irmen de Jong
|
512ddd1694
|
cleanups
|
2024-12-20 22:59:20 +01:00 |
|
Irmen de Jong
|
ef4efcb112
|
cleanup
|
2024-12-19 21:06:51 +01:00 |
|
Irmen de Jong
|
3804fba0f1
|
moved jdk version config back to main gradle build file, version consistency
|
2024-12-19 13:39:27 +01:00 |
|
Irmen de Jong
|
f93b7e3303
|
changed IR JUMPI instruction to support more indirect jump cases
|
2024-12-19 04:29:16 +01:00 |
|
Irmen de Jong
|
7c79cdbd2f
|
fix symbol prefixing on goto with expression
added coroutines example
|
2024-12-17 16:16:38 +01:00 |
|
Irmen de Jong
|
e7a0cb636c
|
add $< and $> operators to get the lsb and msb addresses of a @split array respectively.
document the new split array things.
|
2024-12-16 17:45:54 +01:00 |
|
Irmen de Jong
|
8644a4ae91
|
more split array fixes
|
2024-12-15 22:54:06 +01:00 |
|
Irmen de Jong
|
80d88b3c61
|
fix many split array issues
|
2024-12-15 17:08:07 +01:00 |
|
Irmen de Jong
|
9e8cc8b54d
|
goto can now accept any expression as address (instead of just a constant), and ofcourse a label name still.
|
2024-12-15 05:22:37 +01:00 |
|
Irmen de Jong
|
cc59069876
|
allow goto to take any expression, not only an integer or an identifier (part 1)
|
2024-12-14 01:01:32 +01:00 |
|
Irmen de Jong
|
1a1ab0dac6
|
changed the data type system to composite types
|
2024-12-05 21:48:51 +01:00 |
|
Irmen de Jong
|
55dbd095ed
|
fix IR codegen missing a CMPI after if not condition
fix IR codegen for containmentcheck
|
2024-12-02 03:06:06 +01:00 |
|
Irmen de Jong
|
31ad8bdd8d
|
remove bankof(), documented msw() and lsw()
|
2024-12-01 21:24:26 +01:00 |
|
Irmen de Jong
|
181f3e9eb1
|
remove the unary/prefix operators ^ and << again
|
2024-12-01 20:50:33 +01:00 |
|
Irmen de Jong
|
189399d5f8
|
update to kotlin 2.1.0
|
2024-11-28 03:49:07 +01:00 |
|
Irmen de Jong
|
2e35f3c3a3
|
code check cleanups
|
2024-11-24 16:14:22 +01:00 |
|
Irmen de Jong
|
5c6bd9c091
|
register params support for normal subroutines
|
2024-11-24 15:56:54 +01:00 |
|
Irmen de Jong
|
cc53d698bf
|
added msw() and lsw() builtin functions (experimental)
|
2024-11-24 03:53:37 +01:00 |
|
Irmen de Jong
|
cb86206698
|
added unary ^ and << operators (experimental) (gets bank and address of a long integer)
|
2024-11-24 03:07:18 +01:00 |
|
Irmen de Jong
|
d77b1944fb
|
rename bnk() to bankof()
|
2024-11-24 00:53:09 +01:00 |
|
Irmen de Jong
|
5c09dc10ae
|
convert build.gradle to build.gradle.kts (kotlin DSL)
|
2024-11-20 23:23:26 +01:00 |
|
Irmen de Jong
|
ae0cadb383
|
added bnk() builtin function
|
2024-11-20 23:23:21 +01:00 |
|
Irmen de Jong
|
d78ce77536
|
improve vm error message when referencing a block name
|
2024-11-19 20:57:58 +01:00 |
|
Irmen de Jong
|
b4fb43bc80
|
fix the if not check in ir codegen
|
2024-11-18 22:33:47 +01:00 |
|
Irmen de Jong
|
4f9693055e
|
fix compiler crash when extsub has both FAC1 and FAC2 float parameters
|
2024-11-11 20:48:25 +01:00 |
|
Irmen de Jong
|
bf98ceca2c
|
make repeat support 65536 iterations
|
2024-11-11 01:58:27 +01:00 |
|
Irmen de Jong
|
84f5ffa426
|
fix generated labels prefix and filtering in the vice symbol dump file
|
2024-11-10 15:34:35 +01:00 |
|
Irmen de Jong
|
9864abd393
|
romsub keyword is now extsub
|
2024-11-06 22:14:53 +01:00 |
|
Irmen de Jong
|
c702c4a6df
|
internal rename of romsub to extsub
|
2024-11-06 21:42:16 +01:00 |
|
Irmen de Jong
|
77e376f6bf
|
romsub @bank now also accepts a variable so the bank can be dynamic
|
2024-11-06 00:02:36 +01:00 |
|
Irmen de Jong
|
85e87dfe2e
|
consolidate @rombank and @rambank into just @bank
|
2024-11-03 21:15:11 +01:00 |
|
Irmen de Jong
|
155896c4c7
|
added @rombank and @rambank bank number tags on romsubs
on cx16 and c128 targets the compiler then automatically inserts a CALLFAR instead of a regular JSR to automatically do the bank switching.
|
2024-11-03 18:19:31 +01:00 |
|
Irmen de Jong
|
178e60bba0
|
fix ast source gen for romsub
|
2024-11-03 15:04:53 +01:00 |
|
Irmen de Jong
|
7cfb33a448
|
tweak & fix if expression with word condition
|
2024-11-02 22:01:57 +01:00 |
|
Irmen de Jong
|
3b798097b9
|
added memtop to machine definition and asm source code check
added %memtop directive
|
2024-11-02 00:59:07 +01:00 |
|
Irmen de Jong
|
64ea72ed4d
|
tweak plot
|
2024-11-01 21:56:27 +01:00 |
|
Irmen de Jong
|
4a47e15b1c
|
fix IR if expression sometimes lacking a cmpi after calculation of the condition value
VM/IR: add a returni immediate value return instruction to replace certain returnr's
|
2024-11-01 01:04:16 +01:00 |
|
Irmen de Jong
|
1f2d46628e
|
remove %option align_xxx (block level alignment, as we now have better alternatives)
|
2024-10-26 21:18:34 +02:00 |
|
Irmen de Jong
|
c9535049c8
|
%align directive and @align64
|
2024-10-26 20:58:35 +02:00 |
|
Irmen de Jong
|
1cd754f05d
|
adding @alignword/page on individual variables
|
2024-10-26 17:00:38 +02:00 |
|
Irmen de Jong
|
fdd18c615c
|
more ifexpresssion codegen tweaks
|
2024-10-23 21:04:55 +02:00 |
|
Irmen de Jong
|
c14f6cfc2b
|
more optimal if expression code
|
2024-10-22 23:49:24 +02:00 |
|
Irmen de Jong
|
a6159702da
|
defers are now only registered/called when flow of control actually reached the defer statement
a defer statement sets its corresponding bit in a bitmask that is shifted in the defer handler routine to see what defer blocks to call.
|
2024-10-21 00:55:51 +02:00 |
|
Irmen de Jong
|
9851d14fb9
|
added if expression: ubyte a = if b>0 44 else 55
it doesn't generate the best code yet, like regular ifs do.
|
2024-10-19 15:34:04 +02:00 |
|
Irmen de Jong
|
d5fc69d3e4
|
fix instruction index error in optimizer
|
2024-10-19 14:45:53 +02:00 |
|
Irmen de Jong
|
d8f1822c12
|
fixes
|
2024-10-18 20:32:46 +02:00 |
|