7f2273b32b
doc(interface-types) Add string.*
instructions.
2020-03-24 13:29:38 +01:00
ec7aebe7e1
feat(interface-types) Implement the string.(lift|lower)_memory
instructions.
...
The `string.lift_memory` instruction replaces `memory-to-string`, and
`string.lower_memory` replaces `string-to-memory`.
2020-03-24 13:25:06 +01:00
afbeb5d230
feat(interface-types) Rename lowering_lifting
module to numbers
.
2020-03-24 13:10:21 +01:00
6fcd45bce3
doc(interface-types) Add links to WIT instructions.
2020-03-24 12:48:33 +01:00
cd58af2633
doc(interface-types) Update supported instructions.
2020-03-24 12:47:39 +01:00
50201a5e0b
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
a1f0a556e5
fix(interface-types) Use same stack order than Wasm invocation rule.
2020-03-23 14:34:57 +01:00
693b210638
fix(interface-types) Stack pops items in the same order than Wasm invocation rule.
2020-03-23 14:32:26 +01:00
c01afac783
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
03910a51fb
Merge branch 'master' into feat-interface-types-better-error
2020-03-12 14:52:15 +01:00
b78a6f47ab
chore(interface-types) Simplify code.
2020-03-12 14:51:18 +01:00
f46099c67b
feat(interface-types) Implement Error
on errors.
2020-03-12 14:49:43 +01:00
64729aa8f4
feat(interface-types) Use include ranges to read the memory.
2020-03-12 14:39:15 +01:00
20085e84a6
doc(interface-types) Update the state of supported instructions.
2020-03-12 13:57:57 +01:00
fffdba395d
Prepare for 0.16.2 release
2020-03-11 19:15:31 -07:00
dc9cc3292c
Prepare for 0.16.1 release
2020-03-11 16:00:21 -07:00
d7d5f5b894
Prepare for 0.16.0 release
2020-03-11 11:15:07 -07:00
7d6bc577b7
feat(interface-types) Reformat the instructions.
2020-03-10 17:49:35 +01:00
f0c97a1b81
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
52312ff0ad
feat(interface-types) Remove the 'input
lifetime on Instruction
.
2020-03-10 10:37:09 +01:00
717914f82b
Merge branch 'master' into feat-interface-types-instructions-string-and-memory
2020-03-10 10:33:56 +01:00
1b0bda82dd
feat(interface-types) Rename write-utf8
to string-to-memory
.
2020-03-10 10:25:58 +01:00
674d18ed66
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
39d491e465
feat(interface-types) read-utf8
is renamed memory-to-string
.
2020-03-09 15:06:35 +01:00
3cc4c6142c
doc(interface-types) Improve the README.md
.
2020-03-09 14:53:11 +01:00
637ff1e316
feat(interface-types) Rename call
to call-core
, and remove call-export
.
2020-03-09 14:33:17 +01:00
c295adbaa8
Prepare for 0.15.0 release
2020-03-04 12:26:19 -08:00
de53659ee7
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
c157bdaf63
test(interface-types) Test when lowering or lifting fails because of the value.
2020-03-03 17:10:10 +01:00
6576dfd64b
test(interface-types) Add test cases for errors.
2020-03-03 17:04:26 +01:00
30e72eb796
feat(interface-types) Implement lifting and lowering instructions.
2020-03-03 16:57:05 +01:00
c0933c52ca
feat(interface-types) Fix clippy errors and warnings.
2020-02-26 17:02:52 +01:00
bff63e3fad
Merge branch 'master' into feat-interface-types-update-to-last-standard-version
2020-02-26 16:22:56 +01:00
4e82d59ea1
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
f951b6aa53
feat(interface-types) Remove abandonned instructions.
2020-02-26 15:48:00 +01:00
350a30507f
fix(interface-types) arg.get
's index is of type u32
.
2020-02-26 15:42:29 +01:00
3653c42e23
test(interface-types) Test adapter to binary.
2020-02-26 15:38:59 +01:00
4b7cd3a875
doc(interface-types) Fix a typo.
2020-02-26 15:34:04 +01:00
45283d4f52
test(interface-types) Fix all tests based on previous commits.
2020-02-26 15:32:14 +01:00
ce21910077
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
0c5d46eec9
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
c64febdad6
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
d1ed647efc
feat(interface-types) Forwarded adapters have been removed.
2020-02-24 15:56:11 +01:00
8538e3be33
feat(interface-types) The “helper adapter” has been removed.
2020-02-24 15:49:03 +01:00
ac68325cc9
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
6b667805d7
Merge branch 'master' into doc-readme-logo
2020-02-21 13:41:35 +01:00
1e52d4b9b2
doc(readme) Fix logo.
2020-02-21 13:39:43 +01:00
48f8823879
Merge branch 'master' into feat-interface-types-decoders-wat
2020-02-21 12:24:52 +01:00
80d0b5116f
doc(interface-types) Add intra links.
2020-02-21 12:23:58 +01:00
0afd308c44
feat(interface-types) Add the parse
public API.
...
Also rename `kw` to `keyword`.
2020-02-21 12:23:20 +01:00