Irmen de Jong
|
9e85571a7b
|
fix pointer variable usage detection in other block
|
2025-08-05 17:39:22 +02:00 |
|
Irmen de Jong
|
e14c3f8b59
|
code cleanups
|
2025-07-06 00:52:37 +02:00 |
|
Irmen de Jong
|
e6bab3ceeb
|
IR: adding LOADFIELD and STOREFIELD instructions
|
2025-06-09 01:41:45 +02:00 |
|
Irmen de Jong
|
23a853db1e
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# examples/test.p8
|
2025-05-23 19:00:59 +02:00 |
|
Irmen de Jong
|
9da430ffeb
|
vm: more complete V-flag handling. somd doc and todo updates.
|
2025-05-23 18:58:14 +02:00 |
|
Irmen de Jong
|
61fe55168a
|
Merge branch 'master' into structs
# Conflicts:
# codeGenIntermediate/src/prog8/codegen/intermediate/AssignmentGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# examples/test.p8
|
2025-05-20 22:35:04 +02:00 |
|
Irmen de Jong
|
25d7f8808f
|
IR: added signed multiplication opcodes
|
2025-05-20 21:36:05 +02:00 |
|
Irmen de Jong
|
913ab03963
|
get rid of invalid ARRAY_STRUCT data type (arrays of struct instance are not yet supported)
|
2025-05-14 20:43:00 +02:00 |
|
Irmen de Jong
|
246e4f35a6
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# compiler/test/ast/TestConst.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-05-10 16:36:16 +02:00 |
|
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
|
134352ed7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/test.p8
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-07 22:32:41 +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
|
701f155951
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ProgramAndVarsGen.kt
# compiler/test/TestSymbolTable.kt
# docs/source/todo.rst
# examples/test.p8
# intermediate/src/prog8/intermediate/IRFileReader.kt
# intermediate/src/prog8/intermediate/IRFileWriter.kt
# intermediate/src/prog8/intermediate/IRSymbolTable.kt
# simpleAst/src/prog8/code/SymbolTable.kt
# simpleAst/src/prog8/code/SymbolTableMaker.kt
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-06 17:59:36 +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
|
0e0377d1f0
|
IR/VM implemented struct allocations and initialization
|
2025-05-04 14:04:44 +02:00 |
|
Irmen de Jong
|
1ba5587404
|
allow syntax for declaring variables with struct instance type
|
2025-05-03 16:14:22 +02:00 |
|
Irmen de Jong
|
e328520588
|
initial struct and typed pointer support
|
2025-05-02 00:41:40 +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 |
|