Ivan Enderlin
9af32b273c
feat(interface-types) Implement [siu](NN|MM).from_*
instructions.
...
Basically the `x-to-y` instructions have been renamed `y.from_x`. This
patch updates the instruction. The binary representation isn't
specified yet, so it's just arbitrary values.
2020-03-24 12:43:57 +01:00
Ivan Enderlin
6b5975ea47
fix(interface-types) Use same stack order than Wasm invocation rule.
2020-03-23 14:34:57 +01:00
Ivan Enderlin
c66bed67af
fix(interface-types) Stack pops items in the same order than Wasm invocation rule.
2020-03-23 14:32:26 +01:00
Syrus Akbary
d12097bb88
Merge pull request #1298 from Hywan/doc-interface-types
...
doc(interface-types) Update the state of supported instructions
2020-03-12 09:00:53 -07:00
Ivan Enderlin
7afafe5909
Merge branch 'master' into feat-interface-types-better-error
2020-03-12 14:52:15 +01:00
Ivan Enderlin
24a2f41c9f
chore(interface-types) Simplify code.
2020-03-12 14:51:18 +01:00
Ivan Enderlin
43fb922de8
feat(interface-types) Implement Error
on errors.
2020-03-12 14:49:43 +01:00
Ivan Enderlin
c41979400e
feat(interface-types) Use include ranges to read the memory.
2020-03-12 14:39:15 +01:00
Ivan Enderlin
c5db156b25
doc(interface-types) Update the state of supported instructions.
2020-03-12 13:57:57 +01:00
Mark McCaskey
5c70502e23
Prepare for 0.16.2 release
2020-03-11 19:15:31 -07:00
Mark McCaskey
80b59cb7e8
Prepare for 0.16.1 release
2020-03-11 16:00:21 -07:00
Mark McCaskey
157007415f
Prepare for 0.16.0 release
2020-03-11 11:15:07 -07:00
Ivan Enderlin
7d473b7bdc
feat(interface-types) Reformat the instructions.
2020-03-10 17:49:35 +01:00
Ivan Enderlin
864ac79123
feat(interface-types) Use better errors.
...
The new `errors` module contains structure to represent errors,
instead of using basic strings. The first usage is in the interpreter
itself.
2020-03-10 17:49:35 +01:00
Ivan Enderlin
8bd3345a79
feat(interface-types) Remove the 'input
lifetime on Instruction
.
2020-03-10 10:37:09 +01:00
Ivan Enderlin
47b63bc9c6
Merge branch 'master' into feat-interface-types-instructions-string-and-memory
2020-03-10 10:33:56 +01:00
Ivan Enderlin
a93421f6c2
feat(interface-types) Rename write-utf8
to string-to-memory
.
2020-03-10 10:25:58 +01:00
bors[bot]
f89e2c1b89
Merge #1281
...
1281: feat(interface-types) Rename `call` to `call-core`, and remove `call-export` r=syrusakbary a=Hywan
The latest standard removes `call-export` and has a single `call-core` instruction.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2020-03-09 18:03:28 +00:00
Ivan Enderlin
2d6b987791
feat(interface-types) read-utf8
is renamed memory-to-string
.
2020-03-09 15:06:35 +01:00
Ivan Enderlin
57b1501247
doc(interface-types) Improve the README.md
.
2020-03-09 14:53:11 +01:00
Ivan Enderlin
f342670532
feat(interface-types) Rename call
to call-core
, and remove call-export
.
2020-03-09 14:33:17 +01:00
Mark McCaskey
f38c45e373
Prepare for 0.15.0 release
2020-03-04 12:26:19 -08:00
Ivan Enderlin
db99d2cabd
feat(interface-types) Implement s64-to-i32x
and u64-to-i32x
...
Actually, `s64-to-i32` and `u64-to-i32` already error when overflow
happens.
2020-03-03 17:17:26 +01:00
Ivan Enderlin
c617b1fa16
test(interface-types) Test when lowering or lifting fails because of the value.
2020-03-03 17:10:10 +01:00
Ivan Enderlin
cac6b4ae01
test(interface-types) Add test cases for errors.
2020-03-03 17:04:26 +01:00
Ivan Enderlin
87a3606836
feat(interface-types) Implement lifting and lowering instructions.
2020-03-03 16:57:05 +01:00
Ivan Enderlin
78f2fb580c
feat(interface-types) Fix clippy errors and warnings.
2020-02-26 17:02:52 +01:00
Ivan Enderlin
2a8e3f984d
Merge branch 'master' into feat-interface-types-update-to-last-standard-version
2020-02-26 16:22:56 +01:00
Ivan Enderlin
55029b7c36
feat(interface-types) Implement lifting and lowering instructions.
...
List from https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/working-notes/instr.md .
2020-02-26 16:20:39 +01:00
Ivan Enderlin
8dacaab080
feat(interface-types) Remove abandonned instructions.
2020-02-26 15:48:00 +01:00
Ivan Enderlin
09498ee286
fix(interface-types) arg.get
's index is of type u32
.
2020-02-26 15:42:29 +01:00
Ivan Enderlin
766312fd90
test(interface-types) Test adapter to binary.
2020-02-26 15:38:59 +01:00
Ivan Enderlin
330dbac96b
doc(interface-types) Fix a typo.
2020-02-26 15:34:04 +01:00
Ivan Enderlin
d4c01e8ddc
test(interface-types) Fix all tests based on previous commits.
2020-02-26 15:32:14 +01:00
Mark McCaskey
9117ea7344
Prepare for 0.14.1 release
...
0.14.1 differs from 0.14.0 primarily in that the GNU/Linux build is
built on Ubuntu 16.04 instead of 18.04, meaning we'll use an earlier
version of GLIBC.
2020-02-24 13:20:12 -08:00
Ivan Enderlin
f9ef4a650b
feat(interface-types) Re-implement interface kinds.
...
Adopt a flat structure: Flat resolved imports, flat resolved exports,
flat resolved types etc.
Also, use the latest textual format for adapters & co.
2020-02-24 18:12:01 +01:00
Ivan Enderlin
410d8d4476
feat(interface-types) Re-implement Type
.
...
The semantics of “types” have changed since the previous draft. Now, a
type is like a regular WebAssembly type but with Interface Types.
2020-02-24 16:23:31 +01:00
Ivan Enderlin
165a8ca585
feat(interface-types) Forwarded adapters have been removed.
2020-02-24 15:56:11 +01:00
Ivan Enderlin
1f2a5640a6
feat(interface-types) The “helper adapter” has been removed.
2020-02-24 15:49:03 +01:00
Ivan Enderlin
09e57b7156
feat(interface-types) Update interface types.
...
According to the last working notes, new interface types are s8, s16,
s32, s64, u8, u16, u32, u64, f32, f64, string, anyref, i32, and i64.
Their binary reprensentations are changing too, from 0x00 to 0x0d.
2020-02-24 15:37:03 +01:00
Ivan Enderlin
2d7cd2b52a
Merge branch 'master' into doc-readme-logo
2020-02-21 13:41:35 +01:00
Ivan Enderlin
b2b40e7c36
doc(readme) Fix logo.
2020-02-21 13:39:43 +01:00
Ivan Enderlin
5f4862d6da
Merge branch 'master' into feat-interface-types-decoders-wat
2020-02-21 12:24:52 +01:00
Ivan Enderlin
ea855d29bd
doc(interface-types) Add intra links.
2020-02-21 12:23:58 +01:00
Ivan Enderlin
bae5cfbbe3
feat(interface-types) Add the parse
public API.
...
Also rename `kw` to `keyword`.
2020-02-21 12:23:20 +01:00
Mark McCaskey
732a2a3c86
Prepare for 0.14.0 release
2020-02-20 13:15:29 -08:00
Ivan Enderlin
0767560b79
fix(interface-types) Remove #[allow(unused)]
.
2020-02-20 15:16:35 +01:00
Ivan Enderlin
10bcb3dc90
feat(interface-types) Decode instructions in WIT's text format.
2020-02-20 15:13:11 +01:00
Ivan Enderlin
9b98a211cd
feat(interface-types) Replace nom by wast for decoding WIT's text format.
2020-02-20 14:43:58 +01:00
Ivan Enderlin
e90365beb1
feat(interface-types) Parse Adapter
in the WAT decoders.
2020-02-19 17:41:06 +01:00