| 
							
							
								 Irmen de Jong | 224278e07a | correct openjdk-11 sdk setting in project files instead of just 11 | 2023-01-24 01:49:38 +01:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 11c000f764 | moved codeGenVirtual module into virtualmachine module | 2022-09-26 20:00:40 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 4d6dcbd173 | ir: consolidate IRCodeInstruction and Instruction | 2022-09-26 19:46:44 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 0da117efd2 | vm: get rid of .p8virt file and cruft | 2022-09-26 19:28:40 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 533c368e32 | make IRFileReader's file source more general | 2022-09-26 14:47:28 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 1d65d63bd9 | ir: making sure all names are scoped properly. textelite now runs in vm | 2022-09-25 18:02:35 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | c26e116f0e | vm: fix crashes when array contains pointers/strings | 2022-09-24 14:42:07 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | ca2fb6cef3 | IR no longer depends on VM syscalls but has its own syscall list for the few builtin functions that still require it | 2022-09-23 14:27:51 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | fb22f78fb3 | added '-keepIR' option to save the IR file if it's generated. | 2022-09-20 12:30:22 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | d6393cdbe5 | '-vm' option now also reads .p8ir files | 2022-09-20 12:14:33 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | ab00822764 | move IR optimizer to IR Codegen module | 2022-09-19 19:41:43 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | b4352ad38b | refactor IR codegen into separate module | 2022-09-19 19:24:24 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | d07d00fa41 | Join codeAst and codeCore modules | 2022-09-19 17:28:18 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 627ed51a1b | IR: mem mapped vars and memory slabs | 2022-09-19 15:20:40 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 3091e3a1c8 | IR support for instructions operating on cpu regs | 2022-09-18 01:51:04 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 0e831d4b92 | fix superfluous usage of addressOf() | 2022-09-16 00:31:04 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 7294ec9a3c | working on address-of | 2022-09-15 22:44:33 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | e34bab9585 | change syntax of address-of in p8virt code to &X, instead of {X} | 2022-09-13 23:28:52 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | aacea3e9db | incbin in IR | 2022-09-13 23:06:05 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 6886b61186 | also output inline asm chunks | 2022-09-13 23:06:05 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 3c315703c0 | making IR file reader | 2022-09-13 23:06:05 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 101b33c381 | split intermediate representation into separate module | 2022-09-13 23:06:05 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | a182b13e5a | fixup for memoryslabs | 2022-09-13 23:06:05 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | fc0a0105b3 | move memoryslab administration from allocator to symboltable | 2022-08-21 19:48:56 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 6b41734d6a | check memory() calls before entering codegen | 2022-08-21 19:02:34 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 40aa733ea7 | clearer name | 2022-08-15 20:55:35 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 2d34fdd28f | in a block marked option force_output, make all subroutines in asm use .block rather than .proc this fixes some obscure assembly issues where subroutines were omitted from the output program by 64tass | 2022-08-10 21:28:40 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | ac1bd2fb7b | virtual: properly output "memmapped" variables too still as regular variables though | 2022-08-08 20:42:17 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | e560e2ab3f | vm instructions now contain info on input/output registers | 2022-08-07 18:49:16 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 1e441c2ddf | tweak vm codegen | 2022-08-07 13:45:03 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f718f4251b | working on better encoding of romsub in new ast/vmtarget | 2022-08-07 12:21:10 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 4644c9b621 | got rid of GoSub ast node and codegen complexity related to that. sometimes programs get smaller, sometimes bigger. | 2022-08-07 03:24:20 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 00b717cde8 | tweak | 2022-08-04 18:35:10 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 046dceb5c2 | added optimized case for signed division by 2 | 2022-07-24 13:59:35 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | dcc1f00048 | fix rounding errors in signed divide by power-of-two The optimized bit-shifting division is removed (for now) | 2022-07-24 12:34:55 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f2d27403c5 | add string.endswith() to efficiently test for a suffix without copying add string.startswith() to efficiently test for string prefix without copying | 2022-07-21 00:38:30 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 5189eaca36 | move the vm unit tests to codeGenVirtual module and remove virtualmachine dependency in the compiler module | 2022-07-17 12:56:22 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | a07c52e112 | conv.any2uword / conf.hex2uword can now deal with iso lower and upper case letters as well. | 2022-07-17 02:39:40 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | feb5c8be95 | vm: some more peephole optimizations | 2022-07-12 19:04:19 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | ff1fc28287 | added immediate value vm logical instructions because these are so common | 2022-07-12 16:12:32 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 314398ba4c | added immediate value vm arithmetic instructions because these are so common | 2022-07-12 15:21:26 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 840331347b | added a few more vm optimizations and unit tests | 2022-07-12 12:42:37 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 6181b12ab8 | added -esa option to override the evalstack location, and shift cx16.r0-r15 accordingly | 2022-07-11 19:29:04 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 41f4e22a17 | introduce BOOL type | 2022-07-07 22:23:56 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | b41779bd02 | added -D command line option to define symbols in the assembly file | 2022-07-06 23:40:36 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | beea6bc794 | about bool | 2022-07-04 20:26:03 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 965340ff90 | logical and/or/xor/not all replaced by bitwise &,|,^,~ (ast, codegens) this also fixed some invalid outcomes of logical expressions! | 2022-07-02 00:38:17 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | f675dbc726 | vm var allocator now also recognises the memory-mapped variables. no longer crashes | 2022-06-30 22:09:49 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 4b358abbb7 | "not" operator removed from ast and codegen (it's been replaced with x==0 as equivalent) | 2022-06-29 01:13:08 +02:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | bb1cda0916 | fix: boolean values of terms in logical expressions are now properly evaluated | 2022-06-26 23:55:34 +02:00 |  |