Commit graph

92 commits

Author SHA1 Message Date
Brian Carroll
c0f840542a
wasm_interp: test import calls 2022-12-01 21:31:46 +00:00
Brian Carroll
c866ce6b09
wasm_interp: Handle calls to imports 2022-12-01 20:41:38 +00:00
Brian Carroll
b10ac827f1
wasm_interp: simplified ImportDispatcher
We don't really need a trait for the 'import module' concept.
2022-12-01 08:47:32 +00:00
Brian Carroll
ec8950816a
wasm_interp: expose both call_export_from_cli and call_export (for library usage) 2022-11-30 23:20:58 +00:00
Brian Carroll
7ddff49691
wasm_interp: possible design for imports, using enum dispatch 2022-11-30 07:25:38 +00:00
Brian Carroll
378cad7748
clippy 2022-11-29 11:28:30 +00:00
Brian Carroll
d29ea7fedf
wasm_interp: last few instructions! 2022-11-29 08:59:37 +00:00
Brian Carroll
17810d5134
wasm_interp: float rounding ops 2022-11-29 08:43:56 +00:00
Brian Carroll
714586fac1
wasm_interp: f32 convert instructions 2022-11-29 08:06:18 +00:00
Brian Carroll
029f0d00c1
wasm_interp: truncate instructions 2022-11-29 08:06:18 +00:00
Brian Carroll
6ac46a150f
wasm_interp: fix tests for promote and demote ops 2022-11-29 08:05:46 +00:00
Brian Carroll
afa57a027b
wasm_interp: implement some number conversion ops 2022-11-28 23:28:08 +00:00
Brian Carroll
94ca352ed7
wasm_interp: 'reinterpret' instructions 2022-11-28 23:28:08 +00:00
Brian Carroll
46737b4a41
wasm_interp: rename test_opcodes -> test_basics, and split out test_convert 2022-11-28 23:28:08 +00:00
Brian Carroll
f798f47edd
wasm_interp: move load and store tests to test_mem 2022-11-28 23:28:08 +00:00
Brian Carroll
a97aba7cec
wasm_interp: delete older duplicate test 2022-11-28 23:28:08 +00:00
Brian Carroll
1e114d6eef
wasm_interp: implement float neg and abs 2022-11-28 23:28:08 +00:00
Brian Carroll
284eeb5537
wasm_interp: Implement float ops that have int equivalents 2022-11-28 23:28:08 +00:00
Brian Carroll
fc10c520b1
wasm_interp: fix return type for i64 comparison ops 2022-11-28 23:28:08 +00:00
Brian Carroll
c2bf7d68fc
wasm_interp: rename ExecutionState -> Instance to match standard Wasm terminology 2022-11-28 23:28:08 +00:00
Brian Carroll
9ea2176db8
wasm_module, wasm_interp: fix SLEB-128 encoding for i64 2022-11-28 17:39:13 +00:00
Brian Carroll
0dc3441301
wasm_interp: even more copy-and-pasting 2022-11-28 17:35:51 +00:00
Brian Carroll
ea9b53aff3
wasm_interp: more copy-and-pasting of i64 from i32 2022-11-28 17:17:25 +00:00
Brian Carroll
31a4ad62a7
wasm_interp: implement modulo for rotr and rotl 2022-11-28 17:15:56 +00:00
Brian Carroll
3881296fb4
wasm_interp: Implement lots of i64 ops by copy-pasting from i32 2022-11-28 17:10:28 +00:00
Brian Carroll
56ddd1f29b
wasm_interp: Add a comment and tests for modulo in shift ops 2022-11-28 17:04:45 +00:00
Brian Carroll
b707f6fdff
wasm_interp: tests for i32 bitwise rotate ops 2022-11-28 09:01:25 +00:00
Brian Carroll
77f5635d89
wasm_interp: tests for shift right ops 2022-11-28 08:58:45 +00:00
Brian Carroll
2e0dd18b82
wasm_interp: make test_op_example generate a valid wasm file and dump it 2022-11-28 08:58:09 +00:00
Brian Carroll
5fc874057c
wasm_interp: tests for i32 ops 2022-11-27 23:00:22 +00:00
Brian Carroll
eeca876421
wasm_interp: create a test_utils module 2022-11-27 22:10:12 +00:00
Brian Carroll
e3df393a22
wasm_interp: use wrapping arithmetic 2022-11-27 22:07:31 +00:00
Brian Carroll
8e15d49720
wasm_interp: use Value::from in more places 2022-11-27 21:00:52 +00:00
Brian Carroll
78fbc75249
wasm_interp: neater creation of Value from unsigned integers 2022-11-27 20:53:12 +00:00
Brian Carroll
f7dcd8f421
wasm_interp: implement remaining i32 ops 2022-11-27 20:47:21 +00:00
Brian Carroll
ae2e561945
wasm_interp: implement select instruction 2022-11-27 20:39:28 +00:00
Brian Carroll
9e7a92574d
wasm_interp: don't give Signature the Clone trait just for a test! 2022-11-27 20:34:03 +00:00
Brian Carroll
8ff843261a
clippy 2022-11-27 19:40:09 +00:00
Brian Carroll
c2fb626c17
wasm_interp: implement indirect_call 2022-11-27 18:56:09 +00:00
Brian Carroll
acb871abeb
wasm_interp: fix implicit return for calls inside blocks 2022-11-26 16:23:48 +00:00
Brian Carroll
df972a4567
wasm_interp: remove unnecessary and confusing ELSE check 2022-11-26 12:01:37 +00:00
Brian Carroll
0009e65d93
clippy 2022-11-26 11:01:12 +00:00
Brian Carroll
3346ef9c9c
wasm_interp: Don't need to store block depth in CallStack any more 2022-11-26 10:58:16 +00:00
Brian Carroll
0bd1bced68
wasm_interp: implement loop 2022-11-26 10:47:16 +00:00
Brian Carroll
c55cedd279
wasm_interp: implement i32.lt_s 2022-11-26 10:12:47 +00:00
Brian Carroll
82e8c89045
wasm_interp: test for if/else 2022-11-26 09:36:49 +00:00
Brian Carroll
a09fd95fd7
wasm_interp: pass arguments from CLI 2022-11-26 09:10:35 +00:00
Brian Carroll
fa1e0a8614
wasm_interp: implement if/else statements 2022-11-26 07:33:17 +00:00
Brian Carroll
131a9925d0
wasm_interp: test br_table 2022-11-26 00:56:51 +00:00
Brian Carroll
578b74ee77
wasm_interp: test for br_if 2022-11-26 00:43:49 +00:00