Irmen de Jong
|
99b9370178
|
fix various bugs around word-indexing combined with address-of: &buffer[2000]
|
2025-05-10 16:22:05 +02:00 |
|
Irmen de Jong
|
b28ee0819f
|
revert behavior change of @dirty variables, instead document the initialization behavior correctly in the docs
they get zeroed at program startup (like other uninitialized BSS variables), just not on entry in the subroutine.
|
2025-05-07 21:07:12 +02:00 |
|
Irmen de Jong
|
522958e0e9
|
@dirty variables now actually end up in the uninitialized BSS_NOCLEAR section
|
2025-05-06 01:41:34 +02:00 |
|
Irmen de Jong
|
cd63a58ad9
|
IR: get rid of problematic PREPARECALL pseudo instruction
|
2025-04-24 22:32:40 +02:00 |
|
Irmen de Jong
|
170f8dd092
|
IR: new CALLFAR instructions to support callfar into another bank
|
2025-04-24 21:17:48 +02:00 |
|
Irmen de Jong
|
d2cc7ccdfa
|
remove redundant variable=0 initializations (BSS clear takes care of them)
|
2025-04-23 14:45:38 +02:00 |
|
Irmen de Jong
|
bd1894580e
|
allow floating point value as part of a multi-value return
|
2025-04-18 22:45:05 +02:00 |
|
Irmen de Jong
|
dd2d466350
|
code cleanups
|
2025-04-17 22:58:02 +02:00 |
|
Irmen de Jong
|
59582f5210
|
added -quiet flag to suppres all compiler and assembler messages
|
2025-04-10 21:16:26 +02:00 |
|
Irmen de Jong
|
f04b97d890
|
support symlinks in paths (triggered by symlinked tmp on mac os)
|
2025-03-15 14:33:33 +01:00 |
|
Irmen de Jong
|
8b08895d0f
|
also add strings.ncompare() to virtual lib
|
2025-03-09 14:33:31 +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
|
bc550a4549
|
fix optimized multi-value call result assignment
|
2025-02-19 20:19:20 +01:00 |
|
Irmen de Jong
|
09a17743ad
|
merge IMachineDefinition into ICompilationTarget
|
2025-01-13 21:45:38 +01:00 |
|
Irmen de Jong
|
8f6b5676d7
|
working on codegen for multi-value returns
|
2025-01-07 20:35:49 +01:00 |
|
Irmen de Jong
|
f0e8ff0326
|
get rid of some empty lines in the generated asm
|
2025-01-05 19:34:05 +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
|
10b9162dc5
|
improving fileselector
|
2024-12-30 21:34:03 +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
|
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
|
49959af752
|
IR: support %align in code chunks, and load/store FAC0/FAC1
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
4daa909f32
|
fix path normalization problems,
allow ~ in srcdirs compiler flag
|
2024-12-26 17:42:20 +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
|
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
|
96bed8f57f
|
tweaks
|
2024-12-06 00:37:16 +01:00 |
|
Irmen de Jong
|
86d4a4309f
|
cleanups
|
2024-12-05 21:56:00 +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
|
189399d5f8
|
update to kotlin 2.1.0
|
2024-11-28 03:49:07 +01:00 |
|
Irmen de Jong
|
2eed75f602
|
call convention for @Rx parameters, also use cpu registers if possible, like normal parameters
|
2024-11-25 22:22:24 +01:00 |
|
Irmen de Jong
|
2e35f3c3a3
|
code check cleanups
|
2024-11-24 16:14:22 +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
|
d78ce77536
|
improve vm error message when referencing a block name
|
2024-11-19 20:57:58 +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
|
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
|
09cbdf410a
|
added diskio.exists(), made f_close_w() idempotent like f_close() already was
|
2024-10-31 21:25:22 +01:00 |
|
Irmen de Jong
|
483d193ced
|
vm: implemented reading/writing files in diskio
|
2024-10-29 02:34:53 +01:00 |
|
Irmen de Jong
|
570b574b93
|
added sys.memcmp
|
2024-10-28 00:41:26 +01:00 |
|
Irmen de Jong
|
cbc4b75e50
|
IR now contains "bool" as a type instead of already erasing it into "ubyte". (boolean literals still are simply just 1 and 0 values)
|
2024-10-16 01:03:35 +02:00 |
|
Irmen de Jong
|
65ddcf91d0
|
remove unused syscalls
|
2024-10-15 18:24:55 +02:00 |
|
Irmen de Jong
|
e9edffa9f0
|
remove support for array-to-array assignments (other than initialization of variable declaration)
Just use an explicit sys.memcopy(src, dest, sizeof(dest)) or assign array members individually.
|
2024-10-13 20:02:43 +02:00 |
|
Irmen de Jong
|
eaa22a9d13
|
added callfar2() builtin function that allows to set A,X,Y and Carry arguments.
|
2024-10-08 21:36:04 +02:00 |
|