Commit Graph

334 Commits

Author SHA1 Message Date
Ivan Enderlin
e509f97c2d fix(interface-types) Fix typos in error messages. 2019-09-26 01:02:29 +02:00
Ivan Enderlin
cecb00bd6a feat(interface-types) Create vectors with specific capacity when possible. 2019-09-26 01:00:17 +02:00
Ivan Enderlin
0e1422f16a feat(interface-types) Implement the write-utf8 executable instruction. 2019-09-26 00:55:26 +02:00
Ivan Enderlin
77546784cf chore(interface-types) Re-order match arms. 2019-09-25 23:30:41 +02:00
Ivan Enderlin
07055522a1 feat(interface-types) Update Instruction. 2019-09-25 23:29:08 +02:00
Ivan Enderlin
5e08e76899 test(interface-types) Use macros to reduce test boilerplate. 2019-09-25 23:13:26 +02:00
Ivan Enderlin
429868a125 feat(interface-types) Implement the call executable instruction.
The patch requires to implement the `wasm::TypedIndex`,
`wasm::LocalImportIndex`, and the `wasm::LocalImport` traits.
2019-09-25 21:53:23 +02:00
Ivan Enderlin
3361b3d9a8 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
1eea395679 test(interface-types) Test calling a void exported function. 2019-09-20 14:59:18 +02:00
Ivan Enderlin
f694cf9945 feat(interface-types) Better error message when calling an exported function failed. 2019-09-20 14:55:37 +02:00
Ivan Enderlin
342a57d36f feat(interface-types) Check signature of the exported function to call. 2019-09-20 14:31:15 +02:00
Ivan Enderlin
c59993e4e2 feat(interface-types) The interpreter stack contains Wasm values. 2019-09-20 14:07:56 +02:00
Ivan Enderlin
f453af05c6 chore(interface-types) Fix clippy warnings. 2019-09-20 12:02:11 +02:00
Ivan Enderlin
305e269fc0 feat(interface-types) Stack supports Default. 2019-09-20 11:55:19 +02:00
Ivan Enderlin
19309a80d5 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
2f30977ef7 feat(interface-types) Add an abstract Wasm instance and a runtime to the interpreter. 2019-09-20 00:06:15 +02:00
Ivan Enderlin
ef19987e84 feat(interface-types) Continue. 2019-09-19 23:05:17 +02:00
Ivan Enderlin
f2ef6c0895 feat(interface-types) Continue. 2019-09-19 00:25:28 +02:00
Ivan Enderlin
23d5e7b7b3 feat(interface-types) Draft instruction interpreter. 2019-09-19 00:18:36 +02:00
Ivan Enderlin
dcf8a12cdb feat(interface-types) Encode Interfaces to WAT. 2019-09-18 18:02:05 +02:00
Ivan Enderlin
37920f1a8e chore(interface-types) Bump to 0.7.0. 2019-09-18 17:14:57 +02:00
Ivan Enderlin
8c7d46c124 chore(interface-types) Update to Wasmer 0.7.0. 2019-09-18 17:14:12 +02:00
Ivan Enderlin
68e699e495 feat(interface-types) Add new instructions. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
0352e39741 feat(interface-types) Continue the WAT encoder. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
b64aef187d feat(interface-types) Draft the WAT encoder. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
a017b920c5 fix(interface-types) get-field #1 argument is of type InterfaceType. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
086c3bdb4c feat(interface-types) Move TryFrom from the ast to the binary module. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
b38418fcc3 fix(interface-types) Fix visibility of various symbols. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
10322a880b test(interface-types) Add test cases for higher-level parsers. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
b178887dea test(interface-types) Add test case for “unit” parsers. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
2f888757d4 feat(interface-types) Split into multiple files. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
8822d34146 feat(interface-types) Continue. 2019-09-18 17:12:42 +02:00
Ivan Enderlin
c2f30ace6c feat(interface-types) Continue. 2019-09-18 17:12:41 +02:00
Ivan Enderlin
14e27cfa89 feat(wasmer-interface-types) Draft. 2019-09-18 17:12:41 +02:00