Commit graph

32 commits

Author SHA1 Message Date
Alain Zscheile
09e533f768 [example] just print +jpex 2022-09-25 01:59:03 +02:00
Alain Zscheile
b1ea85cf3e feat(bytecode): pop and dup should take 16bit values 2022-09-25 01:58:51 +02:00
Alain Zscheile
de02eba3dc fix(bytecode): make bytecode more compact (inline atom ops; smaller opcodes) 2022-09-25 01:49:38 +02:00
Alain Zscheile
391c478647 refactor(bytecode): OnAtom: build <-> decon (replaces: upper, lower) 2022-09-24 02:07:32 +02:00
Alain Zscheile
6557e172e7 feat: add conditional jumps 2022-09-24 01:49:44 +02:00
Alain Zscheile
b410e7a5b8 refactor(vm): DRY jump safety checks 2022-09-23 23:25:57 +02:00
Alain Zscheile
bc96f9f130 fix(vm): trivial errors found during initial testing 2022-09-23 21:49:12 +02:00
Alain Zscheile
a7c2068b01 refactor(vm): use crate tracing 2022-09-23 21:03:41 +02:00
Alain Zscheile
51438c5568 feat(vm): concatenation of byte vectors 2022-09-23 20:58:13 +02:00
Alain Zscheile
993ce94fbd feat: proper support for local (inside the same module) calls 2022-09-23 20:16:19 +02:00
Alain Zscheile
d5148669b9 refactor(vm): split NOOP_* stuff from rest 2022-09-23 19:57:02 +02:00
Alain Zscheile
17efdff6f5 ~: function calls should be restricted in input arity 2022-09-23 19:41:37 +02:00
Alain Zscheile
94117e5817 fix(vm): make sure that we only jump to jump targets 2022-09-23 18:44:43 +02:00
Alain Zscheile
14e809e0a6 feat(vm): implement proxy support for ocap calls 2022-09-23 18:34:53 +02:00
Alain Zscheile
89124f0b6a feat(vm): tail call optimization 2022-09-23 17:34:08 +02:00
Alain Zscheile
3c15ffa0f3 feat(vm): implement most baseline instructions 2022-09-23 16:22:21 +02:00
Alain Zscheile
12d2a92ada update docs and get rid of Header; use capability model for linking 2022-09-23 14:54:36 +02:00
Alain Zscheile
682eae2833 [WIP] 2022-09-23 14:26:39 +02:00
Alain Zscheile
4021d238d4 feat(bytecode): split Atom ops from MathBinOp's 2022-09-23 12:53:22 +02:00
Alain Zscheile
f8d5100213 fix(bytecode): make sure Atom,Pointer are FFI-safe 2022-09-23 12:34:15 +02:00
Alain Zscheile
acb8346a55 refactor(bytecode): IntEnum DRY 2022-09-23 12:32:15 +02:00
Alain Zscheile
6b6ed6e36a fix(bytecode): we need to be able to deconstruct Pointer 2022-09-23 12:21:29 +02:00
Alain Zscheile
b77b3a14de feat(bytecode): minimal math operations 2022-09-23 12:14:44 +02:00
Alain Zscheile
c5bbf31cf8 feat(bytecode): many small things; proper call tables 2022-09-23 11:39:47 +02:00
Alain Zscheile
2c05579f7a feat(bytecode): +Header 2022-09-23 09:54:36 +02:00
Alain Zscheile
ec6eed9a7f fix(bytecode): make sure the proptest runs long enough 2022-09-23 07:58:06 +02:00
Alain Zscheile
7c992a5c84 more documentation, some opcodes 2022-09-23 07:37:57 +02:00
Alain Zscheile
d09d68cc30 refactor(bytecode): rename PointerKey -> Atom 2022-09-23 06:24:18 +02:00
Alain Zscheile
da124af6d1 refactor(bytecode): rename Type -> ValueType 2022-09-23 05:56:39 +02:00
Alain Zscheile
f9214f54db feat(bytecode): add ability to serialize 2022-09-23 05:52:10 +02:00
Alain Zscheile
e8f10c4f34 feat(bytecode): implement basic Value + parsing 2022-09-23 05:31:02 +02:00
Alain Zscheile
8ed0b781a3 initial commit 2022-09-23 04:45:34 +02:00