Irmen de Jong
9621552056
add 'arena' allocator library
...
6502 targets use uword sizes with no alignment overhead; m68k/virtual use
long sizes with even-address alignment. Updated the six pointer examples that used to have their own arena implementation.
2026-09-13 05:43:57 +02:00
Irmen de Jong
22035077af
clean up for loop vardecls in examples
2026-08-09 17:05:34 +02:00
Irmen de Jong
a019f22f47
all arena allocators now return pointer type
2026-07-11 22:26:14 +02:00
Irmen de Jong
9587e1b724
Merge branch 'master' into new-codegens
2026-07-11 22:17:25 +02:00
Irmen de Jong
e5865a1446
fix delete root node bug in binarytree.p8
2026-07-11 22:16:51 +02:00
Irmen de Jong
57714efb40
added pushp() and popp() builtin functions
2026-07-11 21:49:22 +02:00
Irmen de Jong
dafb0906c3
fix some m68k pointer/uword stuff
2026-07-11 21:13:21 +02:00
Irmen de Jong
cf6efd76f0
making sure memory() is long on m68k
2026-07-10 04:51:54 +02:00
Irmen de Jong
093be9f2dd
sys.push(), sys.pop() etc etc are now builtin functions again push() pop() to avoid storing value in temporary variables
...
this means that all of the syslib.p8 library files no longer contain all those stack related asmsubs
2026-02-21 02:11:34 +01:00
Irmen de Jong
ee492a1e9a
some more optimized swap() code paths
2026-01-28 00:07:10 +01:00
Irmen de Jong
39b1bbcf58
pet32: added more missing routines in textio like column(), row()
2026-01-24 19:34:33 +01:00
Irmen de Jong
2e0db6f211
add swap() builtin for optimized value swaps without the need for a temporary variable
2026-01-23 23:17:10 +01:00
Irmen de Jong
4030a1b9e5
cleanup, animals example removed because it's superseded by the pointers/animalgame example now
2025-12-16 16:48:34 +01:00
Irmen de Jong
df1a2a1611
also optimize BRA+RTS into just BRA
...
release 12.0
2025-11-23 15:18:05 +01:00
Irmen de Jong
de2f3f0d0d
tweak TODO messages for longs
2025-10-16 23:20:34 +02:00
Irmen de Jong
a8bede17b2
fix defer() with the arena allocator ("return values are evaluated before the defer is executed")
2025-09-17 23:59:32 +02:00
Irmen de Jong
9461e4088c
fixed the hashtable example and workarounds for misbehaving defer in allocators
2025-09-17 22:53:01 +02:00
Irmen de Jong
ddf6e84a1a
fix type checks for wrong pointer types in pointer array initalizer and assignment
2025-09-16 21:18:29 +02:00
Irmen de Jong
8b48a295b6
allow struct initializers to occur in array literals
2025-09-14 18:16:46 +02:00
Irmen de Jong
6de95f7a3b
new static struct initializer syntax ^^Node : [1,2,3]
...
avoids confusion with function calls
2025-09-10 13:47:12 +02:00
Irmen de Jong
52a757ea78
todo
2025-09-02 00:42:46 +02:00
Irmen de Jong
79505308ba
optimize indexed pointer code a bit more
2025-09-01 22:18:17 +02:00
Irmen de Jong
a7e9d8e14b
fix struct field offset calculations
2025-09-01 18:57:02 +02:00
Irmen de Jong
3ef09d7d9a
use LOADFIELD instruction more instead of an extra explicit ADD
...
add implicit @zp to pointer variables if they don't have a preference
2025-08-31 15:53:44 +02:00
Irmen de Jong
ff9bec90ec
fix struct pointer array indexing field dereferencing
...
the pointers/sorting example now actually works on the 6502 too
2025-08-30 12:24:30 +02:00
Irmen de Jong
369303c46d
fix register clobbering in pointer deref
2025-08-18 23:36:35 +02:00
Irmen de Jong
d4e83b28bb
error messages and trying to improve support for struct allocs in arrays
...
added sorting example
2025-08-02 19:22:58 +02:00
Irmen de Jong
c3be7ab4b3
fix if expression type problems with pointers
2025-07-18 23:44:55 +02:00
Irmen de Jong
b0981a5fae
pointers no longer implicitly converted to boolean in expressions, to be consistent with how integers are handled in conditionals
...
adding particles fountain examples
2025-07-18 01:43:35 +02:00
Irmen de Jong
a68cf3c812
fix animalgame node reuse
2025-06-18 23:34:47 +02:00
Irmen de Jong
1d306e5cdc
moved new animalgame
2025-06-17 23:21:54 +02:00
Irmen de Jong
fcdfa741b9
Merge branch 'master' into structs
...
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstPreprocessor.kt
2025-06-14 21:07:23 +02:00
Irmen de Jong
3bab177d50
working on pointers/binarytree example
2025-06-13 23:20:15 +02:00
Irmen de Jong
12abafb917
Merge branch 'master' into structs
...
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
# gradle.properties
2025-06-12 00:11:58 +02:00
Irmen de Jong
0be90dedf2
check for split word array as argument
2025-06-11 21:35:36 +02:00