Irmen de Jong
|
3770a4fe0c
|
easier datatype notation by just using the type objects directly
|
2025-03-18 23:33:04 +01:00 |
|
Irmen de Jong
|
582a70b046
|
fix calling label as subroutine (JSR label)
|
2025-03-04 21:53:53 +01:00 |
|
Irmen de Jong
|
3e2b2a698d
|
Separate simple Ast and Symboltable from codeCore into new simpleAst module. VirtualMachine and Intermediate do not need them, just codeCore.
|
2025-02-24 22:06:52 +01:00 |
|
Irmen de Jong
|
e55ce5504e
|
added %option romable to enable romable mode, but only generate a bunch of warnings for problematic codegeneration atm
|
2025-02-20 23:40:44 +01:00 |
|
Irmen de Jong
|
fb1e89d9ef
|
update docs about call convention for multi-value results (first is in A or AY, then R15...R0)
added sprites+coroutines+defer part to benchmark program
|
2025-02-19 22:10:12 +01:00 |
|
Irmen de Jong
|
bc550a4549
|
fix optimized multi-value call result assignment
|
2025-02-19 20:19:20 +01:00 |
|
Irmen de Jong
|
ebdea9cf76
|
optimized call convention for multi-value return and assign on regular asmsubs (6502)
|
2025-02-19 20:19:20 +01:00 |
|
Irmen de Jong
|
efd41260f2
|
added %jmptable
|
2025-02-09 15:02:59 +01:00 |
|
Irmen de Jong
|
0191acb2b3
|
fix IR codegen for the RETURN 4,5,6,7
added cx16.EXTAPI_memory_decompress_from_func for cx16
|
2025-01-22 23:31:51 +01:00 |
|
Irmen de Jong
|
7a13f57ab0
|
enforce variable init values are only strings or arrays
|
2025-01-20 01:25:17 +01:00 |
|
Irmen de Jong
|
09a17743ad
|
merge IMachineDefinition into ICompilationTarget
|
2025-01-13 21:45:38 +01:00 |
|
Irmen de Jong
|
66558f7638
|
IR support for multi-value returns in normal subroutines, documentation.
|
2025-01-09 22:39:08 +01:00 |
|
Irmen de Jong
|
8f6b5676d7
|
working on codegen for multi-value returns
|
2025-01-07 20:35:49 +01:00 |
|
Irmen de Jong
|
ca9422bbe9
|
be able to parse multiple return values (sub + return)
|
2025-01-07 01:51:54 +01:00 |
|
Irmen de Jong
|
407773bda2
|
IR: don't lose inline asm chunks, fix carry behavior for multi-shifts
|
2025-01-04 22:12:54 +01:00 |
|
Irmen de Jong
|
b7f47d354f
|
IR: implemented << and >> for split word arrays
|
2025-01-03 22:18:02 +01:00 |
|
Irmen de Jong
|
5d33c93af9
|
IR: implemented rol(), rol2(), ror(), ror2() for split word arrays
|
2025-01-03 20:01:50 +01:00 |
|
Irmen de Jong
|
4db6859f3f
|
IR: strict register pool type assignment, 1 unique type per register + verification during IR writing
|
2025-01-03 04:18:16 +01:00 |
|
Irmen de Jong
|
10b9162dc5
|
improving fileselector
|
2024-12-30 21:34:03 +01:00 |
|
Irmen de Jong
|
37c2c1bf0b
|
support &, &< and &> on array elements from split word arrays, not just on the array as a whole
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
c8996418da
|
ir: tweak register pool, prepare to register the types there uniquely
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
76b29aa629
|
fixed register reuse and types on syscall interface
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
f42e12bc13
|
ir: fix more register typing errors
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
427451a23f
|
ir: remove remaining SL* opcodes
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
af7930d494
|
ir: remove SL* opcodes
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
e2882d37bf
|
ir: remove a bunch of strange in-place assignment operators, and problematic opcodes
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
942d3ee640
|
ir: improve register type detection
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
056c0a24d9
|
better way of doing BIT instructions
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
827df04b32
|
IR: BIT instruction added
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
e174b31344
|
IR: fix up missing indirect goto codegen
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
49959af752
|
IR: support %align in code chunks, and load/store FAC0/FAC1
|
2024-12-30 00:00:31 +01:00 |
|
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 |
|