Commit Graph

68 Commits

Author SHA1 Message Date
Ian Gulliver
c547abb296 Make divide-by-zero error, handle error gracefully in grow 2021-11-22 20:46:20 -08:00
Ian Gulliver
a5e44a7e07 Switch to add/remove instruction mutation 2021-11-22 20:33:22 -08:00
Ian Gulliver
8f712688b9 Fix crash on call as last instruction in function 2021-11-22 20:32:46 -08:00
Ian Gulliver
5ae34243b4 Add sqrt instruction 2021-11-21 17:04:58 -08:00
Ian Gulliver
05c62a92e1 Score on criteria count, not sample count 2021-11-20 20:30:16 -10:00
Ian Gulliver
6612523a52 Combine into definition file 2021-11-20 20:17:56 -10:00
Ian Gulliver
24db692859 Compact definition formats 2021-11-20 20:14:35 -10:00
Ian Gulliver
68ae25192e Status channel in Grow() 2021-11-20 20:02:16 -10:00
Ian Gulliver
789e1e7333 Test for grow 2021-11-20 19:44:57 -10:00
Ian Gulliver
0850ada0c4 Split out CLI 2021-11-20 19:38:31 -10:00
Ian Gulliver
8097d6d24f More working code generation 2021-11-20 19:32:44 -10:00
Ian Gulliver
a5a4c49e37 First program generation 2021-11-20 19:25:16 -10:00
Ian Gulliver
f6a598a559 Start exercising grow code, breaking the VM 2021-11-20 19:18:16 -10:00
Ian Gulliver
510680d6c5 Start of code growth 2021-11-20 18:51:19 -10:00
Ian Gulliver
5af90aa6ff Make memory sizes parameters 2021-11-20 18:27:06 -10:00
Ian Gulliver
bd84a5b969 Restrict global and function references to memory size 2021-11-20 18:12:17 -10:00
Ian Gulliver
bdb6b17187 Generate random single instructions 2021-11-20 17:59:22 -10:00
Ian Gulliver
ae771823b0 Move operand type lists into the vm 2021-11-20 17:26:58 -10:00
Ian Gulliver
30ff003494 Parallelize slow tests 2021-11-20 17:21:46 -10:00
Ian Gulliver
56f61545ce Signed biased distribution generator 2021-11-20 16:56:07 -10:00
Ian Gulliver
c12a546447 Biased random generator 2021-11-20 15:20:42 -10:00
Ian Gulliver
51f318c924 Execute code between assembly and disassembly 2021-11-20 10:23:54 -10:00
Ian Gulliver
3ced099a47 Remove broken loader 2021-11-20 10:20:29 -10:00
Ian Gulliver
c67028520c Hex and binary literal support in hex 2021-11-20 10:19:08 -10:00
Ian Gulliver
c43836a9f0 Working disassembler 2021-11-20 10:10:21 -10:00
Ian Gulliver
b4a27cafd3 Make Operands an array 2021-11-20 09:46:51 -10:00
Ian Gulliver
579ddab2de Disassembler skeleton 2021-11-19 20:38:56 -10:00
Ian Gulliver
5ccf6832c8 Program wrapper struct 2021-11-19 20:16:01 -10:00
Ian Gulliver
c536961df3 Bit shift operators 2021-11-19 17:04:11 -10:00
Ian Gulliver
e2dafcf21a Better Not operation 2021-11-19 16:45:39 -10:00
Ian Gulliver
cc8e4a8ccb Bitwise operators 2021-11-19 16:43:59 -10:00
Ian Gulliver
50f986fb13 Conditional return instructions 2021-11-19 16:30:11 -10:00
Ian Gulliver
7a24eee583 Add conditional call instructions 2021-11-19 16:24:04 -10:00
Ian Gulliver
6e36152b6a Typed operands 2021-11-19 16:14:38 -10:00
Ian Gulliver
534c4fe513 Handle invalid function calls 2021-11-19 15:45:51 -10:00
Ian Gulliver
7da1ea96da Jump tests 2021-11-19 15:42:27 -10:00
Ian Gulliver
007c56348c Signed comparison tests 2021-11-19 15:38:28 -10:00
Ian Gulliver
4988893b10 More opcode tests 2021-11-19 15:32:49 -10:00
Ian Gulliver
cfec23f4e9 More opcode tests 2021-11-19 07:24:16 -10:00
Ian Gulliver
b0ee500304 Split test utils, add opcode tests 2021-11-18 20:12:35 -10:00
Ian Gulliver
4332632c77 Split out the loader from the VM 2021-11-18 19:56:58 -10:00
Ian Gulliver
941939da83 asm support for all opcodes 2021-11-18 19:48:46 -10:00
Ian Gulliver
8b502f940c Split packages 2021-11-18 19:35:24 -10:00
Ian Gulliver
b1e27cce79 Rename for clarity 2021-11-18 19:33:43 -10:00
Ian Gulliver
eff0017fec Fix assembly of second operand 2021-11-18 19:33:09 -10:00
Ian Gulliver
e99387beb4 Full test (which fails) 2021-11-18 17:53:38 -10:00
Ian Gulliver
8e34c67f11 Move go.mod to top level 2021-11-18 17:44:40 -10:00
Ian Gulliver
bacbcc38d8 Assembler working 2021-11-18 17:43:13 -10:00
Ian Gulliver
6de2e87342 Return state error code 2021-11-18 15:34:10 -10:00
Ian Gulliver
b8b13680ad Naming 2021-11-16 21:12:32 -10:00