Irmen de Jong
9c9552174e
m68k: stackful coroutines fixed with per-task stacks, new %option noframe
2026-10-08 01:59:50 +02:00
Irmen de Jong
cff7732189
fix unsound index-reload peephole and extend it to two indexed accesses
2026-09-28 00:48:00 +02:00
Irmen de Jong
ce2b298d6f
code cleanups
2026-09-08 22:36:54 +02:00
Irmen de Jong
7dc05688bf
Add peephole optimization to fold array[variable+const] index offsets
...
Adds three new passes to the 6502 assembly optimizer:
- optimizeFoldIndexOffset (byte/bool arrays)
- optimizeFoldIndexOffsetSplitWord (split word arrays)
- optimizeFoldIndexOffsetNonSplitWord (@nosplit word arrays)
fixes github issue #234
2026-09-03 21:36:29 +02:00
Irmen de Jong
30266c1b92
Merge branch 'v12maintenance'
...
# Conflicts:
# gradle.properties
2026-09-01 22:22:39 +02:00
Irmen de Jong
05ba1237dc
fix %asm line grouping that tripped the asm optimizer to think stuff was one line where it wasn't
2026-09-01 22:04:33 +02:00
Irmen de Jong
cc4f27d121
vm: making VM 32 bit
...
work in progress: see vm32.md there are failing tests still
2026-08-16 19:49:28 +02:00
Irmen de Jong
4506a3cb3e
pass compilation target to more places to be able to determine correct types
2026-07-12 03:52:57 +02:00
Irmen de Jong
8a7922ffcc
fix split words arrays on m68k to be not split
2026-07-10 01:47:18 +02:00
Irmen de Jong
15756a8977
rename -expericodegen into -newcodegen that should switch all existing 6502 codegens to using the new one based on IR
2026-07-02 00:51:45 +02:00
Irmen de Jong
a85b267872
streamline asm generation
2026-06-26 20:33:40 +02:00
Irmen de Jong
b2dcd02ee4
prioritize frequently accessed variables for zeropage allocation based on usage scores
2026-06-14 13:41:31 +02:00
Irmen de Jong
930697dad5
using builder to improve massive lists of constructor params
2026-04-19 01:39:50 +02:00
Irmen de Jong
5638eb1c53
asm optimizations: fix inconsistent line property, float copy optimization bug, Y register modification bug
2026-04-11 19:24:12 +02:00
Irmen de Jong
d3f19bb438
fix lacking checks for IO registers in asm optimizer, caused incorrect instruction removals
2026-04-11 18:01:57 +02:00
Irmen de Jong
be60021edc
fix lacking checks for IO registers in asm optimizer, caused incorrect instruction removals
2026-04-11 04:18:22 +02:00
Irmen de Jong
1100ab0d22
performance tweaks
2026-04-03 19:54:37 +02:00
Irmen de Jong
15bf4c7692
unit test helpers refactoring
2026-03-31 05:50:30 +02:00
Irmen de Jong
10ae42ed59
suggest import for undefined block symbols, update github links
2026-01-25 05:45:33 +01:00
Irmen de Jong
d66dc664de
work on longs
2025-10-03 01:22:24 +02:00
Irmen de Jong
a611406020
IR: add compilerversion attribute to p8ir file
2025-09-30 22:07:04 +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
e328520588
initial struct and typed pointer support
2025-05-02 00:41:40 +02:00
Irmen de Jong
99ae8ea52e
code cleanup
2025-04-24 18:51:03 +02:00
Irmen de Jong
a4d0589f10
fix errors like parse error still printed in color when -plaintext is set
2025-04-22 19:26:11 +02:00
Irmen de Jong
830da8de0a
memorymapped vars in ZP are now treated as ZP-variables by prog8 itself too
2025-04-17 22:19:01 +02:00
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
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
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
8f6b5676d7
working on codegen for multi-value returns
2025-01-07 20:35:49 +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
1a1ab0dac6
changed the data type system to composite types
2024-12-05 21:48:51 +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
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
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
641f6c05d8
allow 'void' as dummy assign target in multi-assignment statements
2024-03-31 23:43:26 +02:00
Irmen de Jong
f40b7b62bb
updated unit tests and some basic changes for them
2024-03-02 23:19:20 +01:00
Irmen de Jong
9c1b11d605
some WARN messages are now INFO
2023-12-28 14:20:47 +01:00
Irmen de Jong
2eb137618e
refactor block options
2023-12-26 22:13:08 +01:00
Irmen de Jong
8e4319cd5a
module directive %encoding to set the text encoding for that whole file (iso, petscii, etc.)
2023-12-06 23:54:08 +01:00
Irmen de Jong
f68b46fc60
add a %zpallowed option to specify the range of zeropage register that can be used
2023-11-03 00:19:25 +01:00
Irmen de Jong
a48ce35f0b
added %option verafxmuls
2023-10-05 22:06:33 +02:00
Irmen de Jong
f2c62bee7e
docs
2023-08-01 22:49:55 +02:00
Irmen de Jong
450eaf7c4a
fixed lsb() to uword problem
2023-07-16 20:05:59 +02:00
Irmen de Jong
bb95484c8a
uniform symbol prefixing with p8_
2023-07-02 06:15:09 +02:00
Irmen de Jong
eae41de27d
improve errors generated for undefined symbols
2023-06-25 15:19:51 +02:00