Commit graph

44 commits

Author SHA1 Message Date
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
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
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
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
b69be0e12d
wasm_interp: implement br_if and br_table 2022-11-25 21:41:35 +00:00
Brian Carroll
b96f1ffc33
wasm_interp: implement block and br 2022-11-25 19:42:10 +00:00
Brian Carroll
a593d19b2d
wasm_interp: use copy_from_slice instead of write_all 2022-11-25 19:41:19 +00:00
Brian Carroll
5f5a535aaf
clippy 2022-11-25 16:56:25 +00:00
Brian Carroll
2bd67a3292
wasm_interp: tests for memory allocation instructions 2022-11-25 16:51:36 +00:00
Brian Carroll
06f3726e35
wasm_interp: tests for store instructions 2022-11-25 16:29:37 +00:00
Brian Carroll
65fc079393
clippy 2022-11-25 15:46:02 +00:00
Brian Carroll
e08b09538e
wasm_interp: implement memory size instructions 2022-11-25 15:41:11 +00:00
Brian Carroll
598e62275d
wasm_interp: implement store instructions 2022-11-25 15:41:11 +00:00
Brian Carroll
c6bf34dd78
wasm_interp: Imeplement load instructions 2022-11-25 10:13:13 +00:00
Brian Carroll
96bff3e304
wasm_module: Create DataSection::load_into 2022-11-25 09:19:35 +00:00
Brian Carroll
a0fe01dd5f
wasm_interp: Use an Option instead of separate bool and String 2022-11-25 01:28:31 +00:00
Brian Carroll
77ebaba4ff
wasm_interp: include immediates in --debug output 2022-11-25 01:13:32 +00:00
Brian Carroll
9d77c474d9
wasm_interp: Add --debug flag 2022-11-25 00:14:44 +00:00
Brian Carroll
3d756a8fff
wasm_interp: Fixes to get CLI mode working 2022-11-25 00:14:44 +00:00
Brian Carroll
9d437fe3fd
wasm_interp: report todo! panics with file offset of the missing instruction 2022-11-25 00:14:44 +00:00
Brian Carroll
6d84c85078
wasm_interp: Fix PR feedback 2022-11-25 00:14:43 +00:00
Brian Carroll
f10262a41d
clippy 2022-11-24 16:43:43 +00:00
Brian Carroll
6523b38847
wasm_interp: implement calls with arguments 2022-11-24 16:43:31 +00:00
Brian Carroll
3aeab0dbd7
wasm_interp: initial version of ExecutionState::for_module 2022-11-24 16:43:31 +00:00
Brian Carroll
235c238e36
Move Value from wasm_interp to wasm_module & create GlobalSection::initial_values 2022-11-24 16:43:31 +00:00
Brian Carroll
0a2f2739b2
wasm_interp: implement function call (no arguments yet!) 2022-11-24 16:43:31 +00:00
Brian Carroll
972d9dbb19
wasm_interp: implement call and return instructions 2022-11-24 16:43:31 +00:00
Brian Carroll
335497c99f
wasm_interp: implement globals 2022-11-24 16:43:31 +00:00
Brian Carroll
ff63831fd1
wasm_interp: implement local.get, local.set, and local.tee 2022-11-24 16:43:31 +00:00
Brian Carroll
3d7fb380a5
wasm_interp: Tests for ExecutionState 2022-11-21 19:54:48 +00:00
Brian Carroll
2ca74e5070
wasm_interp: create execute module 2022-11-21 19:54:48 +00:00