Irmen de Jong
0f72bafeae
improve code for in-place assignments to indexed pointers
2026-04-14 19:11:13 +02:00
Irmen de Jong
db84c375f1
implement a missing long pointer assignment case
2026-04-14 01:55:02 +02:00
Irmen de Jong
d5eef79892
implement @nosplit pointer arrays
2026-04-13 20:41:57 +02:00
Irmen de Jong
d5a53c5d21
implement missing division operations in VM
2026-04-13 18:48:35 +02:00
Irmen de Jong
bd51296a33
implement V flag on comparisons in the virtualmachine
2026-04-12 20:47:56 +02:00
Irmen de Jong
c0103f149e
more general implementation of struct definition equality check see github #198
2026-04-12 20:43:19 +02:00
Irmen de Jong
d836f48f38
updated prog8 instructions
2026-04-12 13:00:19 +02:00
Irmen de Jong
952d7b3162
fix faulty float optimization and ptrderef equality check
2026-04-11 23:55:59 +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
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
59d0f7d49c
2-dimensional array support
2026-04-10 04:22:38 +02:00
Irmen de Jong
74475d023b
improving IR symbolic references
2026-04-09 03:54:51 +02:00
Irmen de Jong
9ae0623ad0
making MemoryAddress an Unsigned Int
2026-04-09 02:40:24 +02:00
Irmen de Jong
33b34b990e
making RegisterNum type safe
2026-04-08 02:57:45 +02:00
Irmen de Jong
6dc96bb8f0
making IRInstruction parameters type safe
2026-04-07 20:15:55 +02:00
Irmen de Jong
aeca6350da
make IR instruction number order more pleasant to read
2026-04-07 14:39:28 +02:00
Irmen de Jong
6a340aa59d
refactor void return value handling for multivalue results
2026-04-07 13:41:07 +02:00
Irmen de Jong
207650fbc2
fix multivalue pha/pla regression
2026-04-07 05:52:50 +02:00
Irmen de Jong
4fb3df977e
fix correct evaluation of floats in multi-value returns
2026-04-07 05:41:27 +02:00
Irmen de Jong
bba08f55de
use compact loop to copy longs instead of 4x lda/sta pairs
2026-04-06 20:47:20 +02:00
Irmen de Jong
9e5df3d2d4
Optimize the IfExpression code generation to be more like regular if-else code (tighter branch code)
2026-04-06 20:25:41 +02:00
Irmen de Jong
5c1aa2307d
for loops where the counter variable is unused in the loop body and count is constant -> simple repeat loops
2026-04-05 23:35:58 +02:00
Irmen de Jong
7658a0ab12
added strings.isxdigit()
...
fixed size bugs in several virtual string to number conv routines
2026-04-03 23:33:00 +02:00
Irmen de Jong
1ed618c474
performance improvements in parser
2026-04-03 04:31:29 +02:00
Irmen de Jong
92751d9285
document links in the LSP, remove repl/beanshell
2026-04-02 21:55:56 +02:00
Irmen de Jong
511564dd1e
symbol extraction in the LSP
2026-04-02 01:14:36 +02:00
Irmen de Jong
f38c701658
some support for inlining multi-value returns (where there are no function parameters to deal with)
2026-03-31 04:42:34 +02:00
Irmen de Jong
5fd11ca036
more consistent allowance of inline keyword
2026-03-29 10:15:51 +02:00
Irmen de Jong
5330069b53
disallow weird sizeof argument types
2026-03-29 09:50:13 +02:00
Irmen de Jong
5408a3ca68
fix compiler crash on certain pointer type struct fields
...
added new compiler options for debugging purposes
2026-03-29 08:25:53 +02:00
Irmen de Jong
cecf49b8e3
IR: attempt to optimize negative comparisons by using direct status flag branches instead
2026-03-29 01:23:24 +01:00
Irmen de Jong
65c17b920a
add txt.iso() to virtual target for source code compatibility and tests
2026-03-29 00:39:04 +01:00
Irmen de Jong
7666b72fea
implement missing codegen for returning multivalue result of a subroutine call
2026-03-28 23:38:52 +01:00
Irmen de Jong
bcd12a0fc7
improve handling of boolean literals in logical expressions with -noopt
2026-03-28 19:19:14 +01:00
Irmen de Jong
dd0828a1fc
fix a circular dependency in gfx_lores.p8 between line and plot
2026-03-28 15:35:56 +01:00
Irmen de Jong
68226a8fcd
Update Kotlin and dependencies to latest versions
...
- Bump Kotlin to 2.3.20 across all configurations.
- Upgrade `kotlin-result-jvm` to 2.3.1 in all modules.
- Update Gradle wrapper to 9.4.0.
- Add `poweroff_system()` function in virtual target symboldump
2026-03-25 17:51:01 +01:00
Irmen de Jong
bc959435ec
fix missing const-evaluation for abs() and clamp()
...
add `poweroff_system()` for virtual target function
clarify CX16 usage and debugging tips
2026-03-20 02:31:17 +01:00
Irmen de Jong
e5c6e4b854
add output size verification for compiled examples; include PET target in tests
2026-03-19 20:16:47 +01:00
Irmen de Jong
4294658d71
fix IR symbol lookup for deeply scoped variables
2026-03-18 23:31:39 +01:00
Irmen de Jong
bb907aa2af
fix chained aliasing errors
2026-03-18 21:52:42 +01:00
Irmen de Jong
c291d7d4a8
const memory() support in struct initializers
2026-03-18 04:16:05 +01:00
Irmen de Jong
d2633187a6
more work on making memory() const (6502)
2026-03-18 02:57:59 +01:00
Irmen de Jong
410e330889
add --nostdlib compiler option to disable loading built-in standard libraries
2026-03-17 21:46:33 +01:00
Irmen de Jong
11f187bda8
implement signed % remainder operator for virtual target
2026-03-17 03:36:38 +01:00
Irmen de Jong
a53e7c7050
fix divmod result when dividing by 0
2026-03-16 03:25:34 +01:00
Irmen de Jong
8be0cd3c19
fix certain value copying through pointer dereferences
2026-03-16 00:10:47 +01:00
Irmen de Jong
decfbfc8cc
allow float constants even without float option enable
2026-03-15 22:46:35 +01:00
Irmen de Jong
652da4c692
fix some (not all) problems with directly returning multivalue returncalls
2026-03-15 22:33:17 +01:00
Irmen de Jong
ce58f0e759
fix virtual target diskio.f_write(), added f_tell() and f_seek()
...
cx16 diskio.f_seek() and f_seek_w() now return success status
2026-03-15 21:04:06 +01:00
Irmen de Jong
8ba8efbc3e
added sys.die() , a bare bones emergency exit function
2026-03-14 22:13:13 +01:00