Commit Graph

  • 124ea1230b fix vm to understand struct instances in arrays master Irmen de Jong 2025-09-14 19:04:01 +02:00
  • 8b48a295b6 allow struct initializers to occur in array literals Irmen de Jong 2025-09-14 13:29:16 +02:00
  • d285d37fdb fix clobbers syntax in symboldumper Irmen de Jong 2025-09-13 21:47:52 +02:00
  • 8bb927b483 fix compiler crash with on..call statement in nested scope Irmen de Jong 2025-09-13 06:30:14 +02:00
  • 1af4cd0d63 fix struct initializer error checking Irmen de Jong 2025-09-12 18:51:20 +02:00
  • db2f28c4cd add struct and pointer benchmark to benchmark program (btree, subscore=654, total 7420) fix nullpointer in array initalizer Irmen de Jong 2025-09-12 04:46:37 +02:00
  • 5d9fbd2ccc fix doc build v12.0-beta1 Irmen de Jong 2025-09-11 22:53:57 +02:00
  • 7efc709538 release 12.0 BETA 1 Irmen de Jong 2025-09-11 22:50:34 +02:00
  • 79419a98d0 add if-expression versions for the conditionals if_cc, if_cs, if_vc etc Irmen de Jong 2025-09-11 01:57:30 +02:00
  • 1c77d5d5e7 avoid creating inferredtype instances all the time Irmen de Jong 2025-09-10 20:43:15 +02:00
  • c6854e22a3 fix wrong operand order for in place pointer subtraction Irmen de Jong 2025-09-10 17:19:03 +02:00
  • 83acc2f285 fix pointer variable overwriting when used in expression Irmen de Jong 2025-09-10 16:33:45 +02:00
  • 6de95f7a3b new static struct initializer syntax ^^Node : [1,2,3] Irmen de Jong 2025-09-10 04:27:38 +02:00
  • 82839a2d82 fix alias error and byte to word assignment error Irmen de Jong 2025-09-09 15:05:02 +02:00
  • e5fc9b3132 fix 6502 pointer arithmetic optimization that led to increased code size Irmen de Jong 2025-09-09 14:01:27 +02:00
  • ced4c5944a fix broken optimization for wordvar - value expressions Irmen de Jong 2025-09-09 07:18:18 +02:00
  • d4c460072b don't place library and subroutine parameter pointers in ZP automatically, to save ZP space Irmen de Jong 2025-09-09 06:12:55 +02:00
  • 0b9384b556 fix typecasted byte-to-word pointer assignment, some more asm optimizations Irmen de Jong 2025-09-09 05:24:04 +02:00
  • 6c3277e3e3 fix more alias bugs Irmen de Jong 2025-09-09 02:28:05 +02:00
  • d9ff1eb38a fix internal error in on..call Irmen de Jong 2025-09-08 19:30:32 +02:00
  • e178097735 support more struct instance assignments via memcopy() Irmen de Jong 2025-09-08 00:27:47 +02:00
  • a1ab8ed208 fixing alias bugs Irmen de Jong 2025-09-07 21:53:47 +02:00
  • 6ababbf8f4 support more struct instance assignments via memcopy() Irmen de Jong 2025-09-07 00:29:18 +02:00
  • 79629befc1 fix pointer arithmetic error in struct instance assignments (that get turned into a memcopy call) Irmen de Jong 2025-09-06 00:28:59 +02:00
  • 8022c0772a oops Irmen de Jong 2025-09-05 20:37:19 +02:00
  • 8ad2b4638b fix and optimize nodes[i].field (it could clobber the actual temporary pointer value in a scratch register) Irmen de Jong 2025-09-05 20:02:37 +02:00
  • 3a0392df8a there's a problem with the struct initializer syntax Irmen de Jong 2025-09-05 00:18:42 +02:00
  • beb28b061d fix non-struct pointer deref code bug fix gradle 9 compatibility issue (fixes #175) Irmen de Jong 2025-09-04 21:30:20 +02:00
  • c39acc5031 fix mistakes Irmen de Jong 2025-09-04 00:29:40 +02:00
  • f54a29c415 small 6502 pointer arithmetic expression rewrite that produces smaller code Irmen de Jong 2025-09-03 23:54:10 +02:00
  • 783b111059 pointer to uword casts should not be removed optimized addUnsignedByteOrWordToAY a tiny bit (but needs more) Irmen de Jong 2025-09-03 21:33:47 +02:00
  • fb286f8b54 optimize operatorDereference() to not always use a zp scratch pointer Irmen de Jong 2025-09-03 20:30:10 +02:00
  • 5999110e3f avoid using temporary pointer to access struct fields if a simple Y indexed cpu instruction can be used Irmen de Jong 2025-09-03 18:34:39 +02:00
  • 52a757ea78 todo Irmen de Jong 2025-09-02 00:42:46 +02:00
  • 28df08eea8 introduce P8ZP_SCRATCH_PTR temporary zp pointer to avoid clobbering W1,W2 Irmen de Jong 2025-09-01 23:30:40 +02:00
  • 79505308ba optimize indexed pointer code a bit more Irmen de Jong 2025-09-01 22:18:17 +02:00
  • a7e9d8e14b fix struct field offset calculations Irmen de Jong 2025-08-31 21:57:54 +02:00
  • 08f3abe5bf prefer to put pointer variables into zeropage (add implicit @zp) Irmen de Jong 2025-08-31 17:06:14 +02:00
  • 3ef09d7d9a use LOADFIELD instruction more instead of an extra explicit ADD add implicit @zp to pointer variables if they don't have a preference Irmen de Jong 2025-08-31 14:58:40 +02:00
  • a9142b9ce5 slightly optimize certain pointer indexing calculation, fix invalid deref optimization Irmen de Jong 2025-08-31 12:42:02 +02:00
  • 13e6f64d3b implement missing struct pointer indexing codegen Irmen de Jong 2025-08-31 12:20:38 +02:00
  • 4a1256c772 optimizing some pointer codegen for indexed derefs Irmen de Jong 2025-08-30 21:13:03 +02:00
  • ff9bec90ec fix struct pointer array indexing field dereferencing Irmen de Jong 2025-08-30 12:23:52 +02:00
  • a6fee1e510 fixing deref() Irmen de Jong 2025-08-30 07:04:01 +02:00
  • 80538f101e Merge branch 'master' into structs6502 Irmen de Jong 2025-08-29 21:38:09 +02:00
  • aee53b14c7 avoid costly multiplications to get indexed pointer address structs6502 Irmen de Jong 2025-08-29 20:18:26 +02:00
  • 5eb2fc8d86 fix a bad pointer arithmetic optimization Irmen de Jong 2025-08-29 00:40:47 +02:00
  • 98f91bbf88 another attempt to get correct docs chapters Irmen de Jong 2025-08-29 02:50:09 +02:00
  • b48b36ef18 another attempt to get correct docs chapters Irmen de Jong 2025-08-29 00:52:29 +02:00
  • 221a093e5f optimize some pointer arithmetic, fix pointer arithmetic for ptr-value Irmen de Jong 2025-08-28 22:24:31 +02:00
  • 2ca1820d4e Merge branch 'master' into structs6502 Irmen de Jong 2025-08-28 21:55:46 +02:00
  • d58737d5be use RST chapter notation to attempt to fix PDF chapters Irmen de Jong 2025-08-28 21:46:09 +02:00
  • b52cee3154 use RST chapter notation to attempt to fix PDF chapters Irmen de Jong 2025-08-28 21:19:16 +02:00
  • 9a76941e10 fix invalid optimization for ptr-value Irmen de Jong 2025-08-28 19:48:13 +02:00
  • 0285a4cce1 avoid needless pointer arithmetic multiplication by struct size 1 Irmen de Jong 2025-08-27 02:39:58 +02:00
  • 5a3aa1bd25 optimized IR to return a constant value: use RETURNI Irmen de Jong 2025-08-26 21:32:33 +02:00
  • 0f79351de9 support word size indexing on typed pointers Irmen de Jong 2025-08-25 22:18:47 +02:00
  • 3cdb25ce8e fix invalid string comparisons being generated for regular pointer value comparison Irmen de Jong 2025-08-24 16:19:42 +02:00
  • b7193bd0c6 update examples to use typed pointers where appropriate Irmen de Jong 2025-08-24 15:17:47 +02:00
  • 10ff6a0095 Merge branch 'master' into structs6502 Irmen de Jong 2025-08-24 14:28:07 +02:00
  • d30f58004e converting untyped to typed pointers in custom target libraries Irmen de Jong 2025-08-24 14:27:25 +02:00
  • 17bdb22e4f converting untyped to typed pointers in c64,c128,pet32 libraries Irmen de Jong 2025-08-24 14:17:53 +02:00
  • a68209be37 converting untyped to typed pointers in cx16 libraries Irmen de Jong 2025-08-24 06:32:38 +02:00
  • 7b40eade44 added txt.rvs_on() and txt.rvs_off(), added txt.color() support for virtual target Irmen de Jong 2025-08-24 13:29:29 +02:00
  • 8a717c74b9 sorting lib symboldumps Irmen de Jong 2025-08-24 13:07:10 +02:00
  • aa72ded21e add sorting module to symboldump, moved shared cbm textio routines to shared module Irmen de Jong 2025-08-24 12:56:22 +02:00
  • 8e53c83844 optimize certain ptr+value expression on 6502 Irmen de Jong 2025-08-24 03:54:52 +02:00
  • e2a2db1256 converting untyped to typed pointers in libraries Irmen de Jong 2025-08-22 22:34:46 +02:00
  • 2afd2d4dae Make PET PLOT routine more efficient (#174) markjreed 2025-08-22 15:28:21 -04:00
  • fad17cc094 support a few other simple cases of struct instance assignment Irmen de Jong 2025-08-21 00:04:30 +02:00
  • f93d957999 proper warning for struct instance assignment (not yet supported) Irmen de Jong 2025-08-20 20:35:29 +02:00
  • 8db0344cee Merge branch 'master' into structs6502 Irmen de Jong 2025-08-19 23:10:15 +02:00
  • 32e531f951 test Irmen de Jong 2025-08-19 23:09:33 +02:00
  • a4769702f9 todo Irmen de Jong 2025-08-19 23:05:22 +02:00
  • cf19fb8df1 fix 6502 struct type and field name prefixing and datatype references to stale structs from stale Symboltable Irmen de Jong 2025-08-19 20:47:37 +02:00
  • 79b8bb5c9f Merge branch 'master' into structs6502 Irmen de Jong 2025-08-19 01:12:50 +02:00
  • fc5889ec0b kotlin 2.2.10, kotest Irmen de Jong 2025-08-19 00:06:28 +02:00
  • 369303c46d fix register clobbering in pointer deref Irmen de Jong 2025-08-18 21:59:37 +02:00
  • d65670cc7b fix 6502 address-of for array-indexed pointers (pointer arithmetic) Irmen de Jong 2025-08-18 19:01:08 +02:00
  • f74eeaee0f fix IR address-of for array-indexed pointers (pointer arithmetic) Irmen de Jong 2025-08-18 03:05:15 +02:00
  • 826fb3e9c2 implemented assign indexed ptr byte Irmen de Jong 2025-08-17 04:49:09 +02:00
  • a3d7b8a899 fix detection of string comparisons (make it aware of new pointer types equivalent to STR) Irmen de Jong 2025-08-16 17:04:59 +02:00
  • 0cc36ed6e4 pointer TODO's all as stub methods in the PointerAssignmentsGen class Irmen de Jong 2025-08-16 15:53:21 +02:00
  • 976bd52972 docs dark mode Irmen de Jong 2025-08-16 11:32:24 +02:00
  • 4a8d5def84 code cleanups, pointer TODOs, docs dark mode Irmen de Jong 2025-08-16 11:25:18 +02:00
  • 2f60716082 6502 struct allocation to asm file, struct name and field prefixing (maybe unneeded...) Irmen de Jong 2025-08-15 20:23:45 +02:00
  • 729efb04e1 fix code size regressions Irmen de Jong 2025-08-14 23:37:59 +02:00
  • 4ea8b4d445 fix unknown field test and redundant errors Irmen de Jong 2025-08-14 20:56:19 +02:00
  • e800c165f9 fix 6502 inplace pointer variable assignment Irmen de Jong 2025-08-14 20:38:18 +02:00
  • fd9bd23449 6502 statementreorderer: str -> ^^ubyte Irmen de Jong 2025-08-13 18:45:29 +02:00
  • 8880ed1393 fix address-of struct fields Irmen de Jong 2025-08-08 22:32:44 +02:00
  • f7fde070ca fix boolean pointer condition in if expression Irmen de Jong 2025-08-08 22:15:58 +02:00
  • 5ada80779d Merge branch 'refs/heads/master' into structs6502 Irmen de Jong 2025-08-07 21:25:07 +02:00
  • 8972235a0e fix missing peekbool() and pokebool() code gen Irmen de Jong 2025-08-07 21:11:17 +02:00
  • e56f533e38 more basic pointer inplace operations Irmen de Jong 2025-08-07 00:36:47 +02:00
  • 324fb7dbf7 more basic pointer inplace operations (float) basic pointers unit test now passes Irmen de Jong 2025-08-06 21:23:07 +02:00
  • 44285b9b5d more basic pointer inplace operations Irmen de Jong 2025-08-05 23:37:15 +02:00
  • a68f477d61 Merge branch 'master' into structs6502 Irmen de Jong 2025-08-05 23:29:58 +02:00
  • ae9f99448e fix pointer subtract arithmetic Irmen de Jong 2025-08-05 23:23:29 +02:00
  • 7c0fb10197 fix bug: VM MULR float error, another pointer dependency checker error Irmen de Jong 2025-08-05 21:37:40 +02:00