-
d8feebf58f
chore(bytecode): get rid of Parse(Ext) trait
call-only
Alain Zscheile
2022-10-25 13:23:22 +0200
-
c64152dda8
fix(bytecode): get rid of unnecessary call opcode
Alain Zscheile
2022-10-25 10:37:00 +0200
-
0a1e4994f3
get rid of all non-callstack opcodes
Alain Zscheile
2022-10-25 10:23:52 +0200
-
28b60c5dbb
refactor: move verification code from 'vm' to 'bytecode' crate
main
Alain Zscheile
2022-10-23 01:17:34 +0200
-
c04860b933
fix(bytecode): invalid code transformation
Alain Zscheile
2022-10-23 01:02:44 +0200
-
6294b2ae9c
fix(bytecode): remove misleading comment part
Alain Zscheile
2022-10-23 01:01:29 +0200
-
bdc42a3fae
refactor(bytecode): coalesce an annoying match duplicate
Alain Zscheile
2022-10-23 00:56:46 +0200
-
7e7fae3769
feat(bytecode): add param to remote calls, to prevent the necessity to add multiple of them
Alain Zscheile
2022-10-23 00:49:46 +0200
-
4ff3b98de9
API BREAK: bytecode: get rid of Label
Alain Zscheile
2022-10-23 00:01:45 +0200
-
e83e9f8394
feat(vm): normal exec errors also shouldn't allocate
Alain Zscheile
2022-10-22 22:04:13 +0200
-
668fc0d6fa
fix(vm): verify function should never allocate
Alain Zscheile
2022-10-22 22:00:34 +0200
-
582f0435a1
API BREAK feat(vm): move jumpdest check out of 'run' into 'verify'
Alain Zscheile
2022-10-22 21:42:52 +0200
-
550c25340d
feat(bytecode): +DupFrom
Alain Zscheile
2022-10-22 20:45:19 +0200
-
b889f626ab
chore: cargo fmt
Alain Zscheile
2022-10-15 17:18:59 +0200
-
ff2d189344
API BREAK: use simple byteslices for module; -ModuleKind
Alain Zscheile
2022-10-15 17:18:17 +0200
-
25ae04cb37
feat(vm): callstack doesn't really need to always store the module pointer for each callframe
Alain Zscheile
2022-10-15 17:09:36 +0200
-
e101c9fd9f
GENERAL BREAK: get rid of signed pointers
zseri
2022-09-30 12:35:08 +0200
-
18a7c524e6
fix(_): fix misc stuff
Alain Zscheile
2022-09-28 15:44:05 +0200
-
5f77e04826
feat(bytecode): add signed remainder operation
Alain Zscheile
2022-09-28 15:28:44 +0200
-
14c7cbb08b
feat(bytecode): add bitshift operation
Alain Zscheile
2022-09-28 15:07:03 +0200
-
3cccbc31b8
API BREAK: make the VM u128-based (as only datatype)
Alain Zscheile
2022-09-28 14:23:05 +0200
-
920983d003
fix(vm): remote calls might resume where left off, without additional label...
Alain Zscheile
2022-09-28 03:29:09 +0200
-
9c770e4015
feat(vm): make VM no-std usable
Alain Zscheile
2022-09-28 03:19:21 +0200
-
d193a66f04
refactor(vm): make
run
non-async, return Error::RemoteCall when remote-calls are invoked
Alain Zscheile
2022-09-28 03:03:18 +0200
-
b67f42b773
feat(vm): basic comparison operators
Alain Zscheile
2022-09-28 02:08:00 +0200
-
7602e9f7b9
feat: more and better math operators
Alain Zscheile
2022-09-28 01:48:32 +0200
-
cdebdd2ce9
fix(vm): proper error reporting (for library usage)
Alain Zscheile
2022-09-27 18:22:00 +0200
-
6c75da9cd2
feat(vm/Origin): make call method async
Alain Zscheile
2022-09-27 17:41:35 +0200
-
9c0ad2fa15
feat(vm): reset origin id before calling <origin,ptr,atom>
Alain Zscheile
2022-09-27 17:28:34 +0200
-
7580ba28bb
fix(bc/pointer): cancel upper two bytes of payload bc they're node-specific
Alain Zscheile
2022-09-27 17:17:27 +0200
-
911d662634
feat+rf(vm): replace WrappedPointer with Pointer, reducing stack item size from 48 bytes to 32
Alain Zscheile
2022-09-27 16:39:28 +0200
-
6256336a5c
refactor(bytecode/pointer): use [u8; 16] instead of (u64, u64)
Alain Zscheile
2022-09-27 15:19:25 +0200
-
724531eae9
fix(vm): add doesnt_crash baseline test
Alain Zscheile
2022-09-26 05:56:51 +0200
-
0bcf710db3
+docs/xor.fgrs
Alain Zscheile
2022-09-26 05:49:41 +0200
-
9af713411b
feat(vm): Process/ make fields public
Alain Zscheile
2022-09-26 05:09:14 +0200
-
db88aa1f3f
fix(vm): get rid of unused origin-reliant refcounts
Alain Zscheile
2022-09-26 03:33:31 +0200
-
a05ebb7f1e
refactor(vm): split cli and library code
Alain Zscheile
2022-09-26 03:29:25 +0200
-
0aa63e6c85
fix(bytecode): get rid of redundant 'jump' instruction
Alain Zscheile
2022-09-25 17:08:23 +0200
-
7388571a33
feat(bytecode): add ability to insert a deferred local call
Alain Zscheile
2022-09-25 16:50:24 +0200
-
7ce7753bae
feat(vm): implement NAND on byte vectors of equal length
Alain Zscheile
2022-09-25 15:55:06 +0200
-
e65cfa9f91
feat(bytecode): swap should be able to swap the top item with any other in 2^16 range
Alain Zscheile
2022-09-25 15:05:01 +0200
-
09e533f768
[example] just print +jpex
just-print
Alain Zscheile
2022-09-23 21:13:11 +0200
-
-
b1ea85cf3e
feat(bytecode): pop and dup should take 16bit values
Alain Zscheile
2022-09-25 01:58:51 +0200
-
de02eba3dc
fix(bytecode): make bytecode more compact (inline atom ops; smaller opcodes)
Alain Zscheile
2022-09-25 01:39:47 +0200
-
391c478647
refactor(bytecode): OnAtom: build <-> decon (replaces: upper, lower)
Alain Zscheile
2022-09-24 02:07:32 +0200
-
6557e172e7
feat: add conditional jumps
Alain Zscheile
2022-09-24 01:49:44 +0200
-
b410e7a5b8
refactor(vm): DRY jump safety checks
Alain Zscheile
2022-09-23 23:25:47 +0200
-
bc96f9f130
fix(vm): trivial errors found during initial testing
Alain Zscheile
2022-09-23 21:49:12 +0200
-
a7c2068b01
refactor(vm): use crate tracing
Alain Zscheile
2022-09-23 21:03:41 +0200
-
51438c5568
feat(vm): concatenation of byte vectors
Alain Zscheile
2022-09-23 20:58:13 +0200
-
993ce94fbd
feat: proper support for local (inside the same module) calls
Alain Zscheile
2022-09-23 20:16:19 +0200
-
d5148669b9
refactor(vm): split NOOP_* stuff from rest
Alain Zscheile
2022-09-23 19:57:02 +0200
-
17efdff6f5
~: function calls should be restricted in input arity
Alain Zscheile
2022-09-23 19:41:37 +0200
-
94117e5817
fix(vm): make sure that we only jump to jump targets
Alain Zscheile
2022-09-23 18:44:43 +0200
-
14e809e0a6
feat(vm): implement proxy support for ocap calls
Alain Zscheile
2022-09-23 18:34:53 +0200
-
89124f0b6a
feat(vm): tail call optimization
Alain Zscheile
2022-09-23 17:34:08 +0200
-
3c15ffa0f3
feat(vm): implement most baseline instructions
Alain Zscheile
2022-09-23 16:22:21 +0200
-
12d2a92ada
update docs and get rid of Header; use capability model for linking
Alain Zscheile
2022-09-23 14:51:54 +0200
-
682eae2833
[WIP]
Alain Zscheile
2022-09-23 14:26:39 +0200
-
4021d238d4
feat(bytecode): split Atom ops from MathBinOp's
Alain Zscheile
2022-09-23 12:53:22 +0200
-
f8d5100213
fix(bytecode): make sure Atom,Pointer are FFI-safe
Alain Zscheile
2022-09-23 12:34:15 +0200
-
acb8346a55
refactor(bytecode): IntEnum DRY
Alain Zscheile
2022-09-23 12:32:15 +0200
-
6b6ed6e36a
fix(bytecode): we need to be able to deconstruct Pointer
Alain Zscheile
2022-09-23 12:21:29 +0200
-
b77b3a14de
feat(bytecode): minimal math operations
Alain Zscheile
2022-09-23 12:14:44 +0200
-
c5bbf31cf8
feat(bytecode): many small things; proper call tables
Alain Zscheile
2022-09-23 11:39:47 +0200
-
2c05579f7a
feat(bytecode): +Header
Alain Zscheile
2022-09-23 09:54:36 +0200
-
ec6eed9a7f
fix(bytecode): make sure the proptest runs long enough
Alain Zscheile
2022-09-23 07:54:00 +0200
-
7c992a5c84
more documentation, some opcodes
Alain Zscheile
2022-09-23 06:50:42 +0200
-
d09d68cc30
refactor(bytecode): rename PointerKey -> Atom
Alain Zscheile
2022-09-23 06:24:08 +0200
-
da124af6d1
refactor(bytecode): rename Type -> ValueType
Alain Zscheile
2022-09-23 05:56:39 +0200
-
f9214f54db
feat(bytecode): add ability to serialize
Alain Zscheile
2022-09-23 05:52:10 +0200
-
e8f10c4f34
feat(bytecode): implement basic Value + parsing
Alain Zscheile
2022-09-23 05:31:02 +0200
-
8ed0b781a3
initial commit
Alain Zscheile
2022-09-23 04:45:34 +0200