Commit Graph

67 Commits

Author SHA1 Message Date
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
Ian Gulliver 6449d4762a Basic parsing 2021-11-16 21:08:46 -10:00