1
0

61 Commits

Author SHA1 Message Date
5aefb29a95 Experiment with VM optimization 2025-02-11 09:28:02 -05:00
59f64c9afd Fix register closing 2025-02-11 05:29:00 -05:00
f2ee01d66f Add comparison tests for less than operator; Implement less than operator in VM 2025-02-11 02:22:14 -05:00
3af1b64820 Reimplement more instruction and compiler logic 2025-02-08 17:36:30 -05:00
07001a03e7 Add tests for divide instruction 2025-02-08 11:58:30 -05:00
6e9d5a49d2 Add tests for multiply instruction 2025-02-08 11:45:03 -05:00
1bb87de70f Add tests for subtract instruction 2025-02-08 11:35:58 -05:00
71a92c078b Add formatting disassembly output into JSON or TOML 2025-02-08 05:56:49 -05:00
e387579a81 Extend and pass tests 2025-02-08 00:17:15 -05:00
d3addbe183 Fix and pass all tests 2025-02-07 22:39:07 -05:00
ac11ad5674 Refactor instruction layout to allow for more type codes 2025-02-07 20:52:08 -05:00
1d0824165d Implement lists; Add tests 2025-02-07 17:40:08 -05:00
8cc5661944 Begin rewriting tests 2025-02-07 15:37:48 -05:00
72421bf510 Fix compiling of comparison expressions; Implement LoadEncoded in the VM 2025-02-07 13:29:14 -05:00
25b4230aa4 Use Operand type to store instruction argument types 2025-02-07 10:19:38 -05:00
788e3d4a2b Clean up 2025-02-06 17:25:46 -05:00
75d6948e82 Consolidate point instructions into return instructions 2025-02-06 14:34:31 -05:00
bd273035aa Convert LoadBoolean to LoadEncoded; Fix register handling 2025-02-06 13:10:11 -05:00
6f0955c29a Improve control flow register consolidation 2025-02-06 12:42:55 -05:00
6d17ba9a2c Clean up 2025-02-05 19:29:15 -05:00
4775d425a0 Implement typed registers with untyped constants 2025-02-05 19:12:26 -05:00
12092c30f4 Roll back slightly 2025-02-03 18:08:03 -05:00
371a061b1c Consolidate local operations to point operations 2025-02-03 17:49:38 -05:00
c1fe54ccd5 Attempt alternative to total register overhaul 2025-02-03 15:05:32 -05:00
1409698fdd Fix some bugs to get language working with new 64-bit instructions 2025-01-13 10:37:54 -05:00
ac1ee793ab Use fewer operations and encode operand types in the instruction 2025-01-13 09:49:08 -05:00
0510e18060 Begin implementing typed 64-bit instructions 2025-01-13 06:01:38 -05:00
61f4093da0 Edit README; Begin 64-bit instruction set 2025-01-10 12:54:33 -05:00
9d370aea2a Fix function calling bug 2025-01-09 02:25:06 -05:00
6cfa0f58e3 Improve VM layout and performance 2025-01-08 10:29:53 -05:00
e9bd9b37b0 Make runtime improvements 2025-01-08 04:21:01 -05:00
2c0da440ef Fix bugs in the VM and compiler 2025-01-04 02:56:46 -05:00
56becbfacb Fix register-setting bug 2025-01-01 21:53:54 -05:00
d7289414f4 Fix some aspects of the compiler for logic and semicolons 2024-12-17 18:11:06 -05:00
72365cd399 Continue new VM implementation; Write docs 2024-12-17 16:31:32 -05:00
4527f7b6ef Continue thread-based VM refactor 2024-12-17 07:10:47 -05:00
bd590e0643 Begin VM conversion to multi-thread 2024-12-17 03:22:44 -05:00
9ae923febd Optimize; Revert to branch-style comparisons for performance 2024-12-14 00:45:49 -05:00
1777ad298b Experiment wih more optimizations 2024-12-11 09:26:38 -05:00
395f0af213 Use a lookup table instead of matching operation codes in the VM 2024-12-11 08:39:48 -05:00
20f451fe6c Experiment with optimizations and benches 2024-12-11 06:49:43 -05:00
1c32cd0956 Break up tests; Write docs 2024-12-11 01:22:40 -05:00
5aa8579fae Write docs; Flesh out the benchmarks; Clean up 2024-12-10 08:04:47 -05:00
85a706e0fb Make the disassembly prettier than ever before 2024-12-10 01:34:53 -05:00
5d43674000 Continue refactor and rewrite comparison operator compilation 2024-12-09 10:30:57 -05:00
98a7b7984a Continue refactor; Condense registers in logic chains 2024-12-09 08:27:45 -05:00
a9e867aaab Continue rewrite of instructions and operations 2024-12-09 07:01:07 -05:00
cc069df7ee Continue instruction rewrite 2024-12-08 08:01:15 -05:00
1fa958fd0b Restart instruction refactor 2024-12-08 06:04:01 -05:00
215601707b Clean up code and docs 2024-12-02 01:08:41 -05:00