Commit Graph

3147 Commits

Author SHA1 Message Date
ffe7f765a2 doc(interface-types) Add strign.size in the list of supported instructions. 2020-03-24 15:35:01 +01:00
38f62392ff feat(interface-types) Implement the string.size instruction. 2020-03-24 15:33:42 +01:00
daef7b0bfd feat(interface-types) Add the Stackable::peek1 method.
This method allows to peek the last item on the stack (if any) by
reference.
2020-03-24 15:32:54 +01:00
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
56aec04d1d Merge #1327
1327: fix(interface-types) Stack pops items in the same order than Wasm invocation rule r=Hywan a=Hywan

This PR fixes the items order when popped from the stack. It matches [the Wasm invocation rule](https://webassembly.github.io/spec/core/exec/instructions.html#invocation-of-function-address).

Not that it is more performant in our case, since we use the `drain` API rather than `drain` + `rev`.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2020-03-24 09:49:42 +00:00
9829d97d7d Update Module::custom_sections to properly return multiples 2020-03-23 14:12:07 -07:00
59bd6f6e86 Merge branch 'master' into feature/update-api 2020-03-23 14:07:02 -07:00
9cdb49d22c Merge branch 'master' into android 2020-03-23 13:29:18 -07:00
e695ecbfd8 Merge #1288
1288: Update some dependencies manually, removing duplicate deps r=MarkMcCaskey a=MarkMcCaskey

Removes all duplicate deps (as seen by `cargo +stable tree -d`).  Primarily by updating `wasm-debug` but also by through updating some other dependencies.

Co-authored-by: Mark McCaskey <mark@wasmer.io>
2020-03-23 18:58:51 +00: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
96a0f851c2 Update libc
The new version of libc contains changes necessary to build
wasmer-runtime-core for Android.

See https://github.com/rust-lang/libc/pull/1622 for details.
2020-03-23 11:55:32 +09:00
b23436d1bb 🐛 Correct error message when trying to build on non-supported targets 2020-03-23 11:55:31 +09:00
0df0a1cccb Support Android
I'll send a PR after https://github.com/rust-lang/libc/pull/1622 is merged and released
2020-03-23 11:55:31 +09:00
704c34283f Merge #1320
1320: Support multiple custom sections with the same name r=MarkMcCaskey a=MarkMcCaskey

The spec doesn't disallow duplicates and the [JS API spec](https://webassembly.github.io/spec/js-api/index.html#dom-module-customsections) supports them.

# Review

- [ ] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Mark McCaskey <mark@wasmer.io>
2020-03-21 00:15:24 +00:00
844a572bca Rename new type fields from type_ to ty 2020-03-20 17:10:43 -07:00
30afd145e0 Merge branch 'master' into feature/llvm-mcg-no-builder 2020-03-20 12:27:48 -07:00
f7d4f855a3 inkwell::Builder is a per-function notion, remove it from LLVMModuleCodeGenerator.
This also removes it from the API to generate trampolines, which makes sense because those produce new functions, so it can produce a new builder for the new function.
2020-03-20 12:26:15 -07:00
248e06146a Support multiple custom sections with the same name 2020-03-20 11:27:23 -07:00
da949f47a1 Improve Table implementation for API
This commit also leaves comments explaining the current state of
things so that when it's unblocked it can be finished and the API made public.
2020-03-20 11:15:10 -07:00
d1e8674f8d Merge branch 'master' into feature/singlepass-nan-cncl 2020-03-19 12:05:57 +08:00
2dc3ea53eb Implement table getting and setting 2020-03-18 18:06:53 -07:00
71be2c6763 Add getter to table and other misc changes 2020-03-18 15:33:34 -07:00
19ffd8ebb9 Fix warning (from clang) 2020-03-18 20:07:12 +01:00
9e389b9a5f Fix cross compilation
cfg!()/env!() are applied on the host platform during the build script's
build, the environment of the build script's execution is the proper way
to determine eg target_os
2020-03-18 20:06:55 +01:00
4de7deb568 Replace cmake with cc 2020-03-18 20:05:05 +01:00
c25ba627df Add comment for call argument list preprocessing. 2020-03-18 23:41:10 +08:00
f864765298 Make trailing commas in imports! macro optional
We now use `,*` on the outside of a `$()` expression to match on
interspersed commas instead of trailing commas. To continue to handle
the trailing comma case, we optionally match on an extra comma at the
end with `$(,)?`.
2020-03-17 16:17:03 -07:00
f4dc419b5e Add types and methods to provide updated API 2020-03-17 15:27:11 -07:00
8485ccc88c Update comment for nan_canonicalization. 2020-03-18 01:48:27 +08:00
29a431cfc7 Remove 4 spectest excludes that are no longer needed. 2020-03-18 01:43:05 +08:00
a9cd6d6814 Add aarch64 NaN canonicalization spectest excludes. 2020-03-18 01:16:18 +08:00
ea0cd7286e Cargo fmt 2020-03-18 01:03:55 +08:00
3a18b70d31 Merge remote-tracking branch 'origin/feature/singlepass-nan-cncl' into feature/singlepass-nan-cncl 2020-03-18 01:03:30 +08:00
86dde8cab2 Add missing movs. 2020-03-18 01:02:59 +08:00
bfc3b8292c Apply suggestions from code review
Co-Authored-By: nlewycky <nick@wasmer.io>
2020-03-18 00:58:50 +08:00
8e92e3208a Disable canonicalization for aarch64. 2020-03-18 00:47:52 +08:00
5e40be48a1 Merge remote-tracking branch 'origin/master' into feature/singlepass-nan-cncl 2020-03-18 00:43:52 +08:00
72bc9f6531 Add call canonicalization tests. 2020-03-18 00:42:19 +08:00
1d9f0c53e1 Style fixes and fix missing canonicalization at function call. 2020-03-18 00:42:10 +08:00
5331a1c2e4 Merge branch 'master' into fix/dynamicfunc-panic 2020-03-17 19:02:20 +08:00
1ddf3a1c4e Add mem/local NaN tests. 2020-03-17 14:13:31 +08:00
e0538d32fa Remove clif spectest excludes. 2020-03-17 13:52:42 +08:00
4357c15046 Fix missing canonicalizations. 2020-03-17 13:52:11 +08:00
3ee7f43b1c Enable nan canonicalization for cranelift backend. 2020-03-17 13:09:22 +08:00