27 Commits

Author SHA1 Message Date
Ivan Enderlin
be5624e28b feat(interface-types) Implement the read-utf8 instruction.
It implies to create the `wasm::Memory` trait.

Also, the patch updates `wasm::Type` and `wasm::Value` to
`wasm::InterfaceType` and `wasm::InterfaceValue`. It enforces a new
rule that is: All values in the stack must be owned by the stack. Any
value going in or out must be cloned.
2019-09-23 16:29:01 +02:00
Ivan Enderlin
aea18f6250 test(interface-types) Test calling a void exported function. 2019-09-20 14:59:18 +02:00
Ivan Enderlin
8557e83ce6 feat(interface-types) Better error message when calling an exported function failed. 2019-09-20 14:55:37 +02:00
Ivan Enderlin
56afb4da63 feat(interface-types) Check signature of the exported function to call. 2019-09-20 14:31:15 +02:00
Ivan Enderlin
b7b37d2e99 feat(interface-types) The interpreter stack contains Wasm values. 2019-09-20 14:07:56 +02:00
Ivan Enderlin
2237e628ab chore(interface-types) Fix clippy warnings. 2019-09-20 12:02:11 +02:00
Ivan Enderlin
39a817817b feat(interface-types) Stack supports Default. 2019-09-20 11:55:19 +02:00
Ivan Enderlin
9d4c983206 feat(interface-types) Implement CallExport executable instruction.
It requires to create the `wasm::Export` trait, plus the `wasm::Type`
and the `wasm::Value` enums.
2019-09-20 11:37:38 +02:00
Ivan Enderlin
62e1f7867b feat(interface-types) Add an abstract Wasm instance and a runtime to the interpreter. 2019-09-20 00:06:15 +02:00
Ivan Enderlin
c63345029e feat(interface-types) Continue. 2019-09-19 23:05:17 +02:00
Ivan Enderlin
2f3c37fbd5 feat(interface-types) Continue. 2019-09-19 00:25:28 +02:00
Ivan Enderlin
dc3c72ea19 feat(interface-types) Draft instruction interpreter. 2019-09-19 00:18:36 +02:00
Ivan Enderlin
fc9389d932 feat(interface-types) Encode Interfaces to WAT. 2019-09-18 18:02:05 +02:00
Ivan Enderlin
6ec35c8bdc chore(interface-types) Bump to 0.7.0. 2019-09-18 17:14:57 +02:00
Ivan Enderlin
480fe0fb9b chore(interface-types) Update to Wasmer 0.7.0. 2019-09-18 17:14:12 +02:00
Ivan Enderlin
bd3a888452 feat(interface-types) Add new instructions. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
6279b3e915 feat(interface-types) Continue the WAT encoder. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
40613d3d48 feat(interface-types) Draft the WAT encoder. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
4ba9aace64 fix(interface-types) get-field #1 argument is of type InterfaceType. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
a7ffffc8b4 feat(interface-types) Move TryFrom from the ast to the binary module. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
5a8a2b90ed fix(interface-types) Fix visibility of various symbols. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
24ac7a6c41 test(interface-types) Add test cases for higher-level parsers. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
dc254e0845 test(interface-types) Add test case for “unit” parsers. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
1c1b74baa1 feat(interface-types) Split into multiple files. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
45ba77c5e3 feat(interface-types) Continue. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
7ca546e5c5 feat(interface-types) Continue. 2019-09-18 17:12:41 +02:00
Ivan Enderlin
b3af77c92d feat(wasmer-interface-types) Draft. 2019-09-18 17:12:41 +02:00