Commit Graph

3995 Commits

Author SHA1 Message Date
Ivan Enderlin
a9e446b5cd fix(runtime-core) Fix a panic when generating globals.
Fix https://github.com/wasmerio/wasmer/issues/979.

When we try to get a global that doesn't exist, a panic is
generated. This patch just skip that path, and let a proper error be
generated later.

With this patch, we get:

```sh
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: ExportNotFound { name: "main" }
```

which is kind of the expected behavior in such situation.
2019-11-21 10:51:04 +01:00
Syrus Akbary
8efa8e299c
Improved README instructions 2019-11-19 13:53:36 -08:00
Syrus Akbary
f1946ccafc
Merge pull request #983 from wasmerio/MarkMcCaskey-patch-1
Fix github issue link in feature matrix
2019-11-19 11:11:34 -08:00
Mark McCaskey
f9bef056ba
Fix github issue link in feature matrix 2019-11-19 09:48:51 -08:00
bors[bot]
e8e460ec60
Merge #977
977: fix(runtime-core) Remove unnecessary implementation of `WasmTypeList` r=Hywan a=Hywan

The unit tests `test_func_arity_*` covers all possibilities, from 0 to
12. Removing this specific implementation of `WasmTypeList` for `(A,)`
doesn't break the test cases.

Also, the `impl_traits!` macro already implement `WasmTypeList` for
`(A,)` with `impl_traits!([transparent] S1, A)`. It's not clear why
`rustc` doesn't detect that though.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-11-19 14:07:37 +00:00
bors[bot]
ad65a1504c
Merge #978
978: test(runtime-core) Test closures in `Func::new` r=Hywan a=Hywan

This patch contains 2 commits:

1. Test closures in `Func::new`
2. Fix a warning about `unused_parens` (since Rust 1.39, the behavior of `unused_parens` has changed a little bit).

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-11-19 13:35:16 +00:00
Ivan Enderlin
dbefa165dc
Merge branch 'master' into fix-runtime-core-clean-up-typed_func 2019-11-19 14:35:11 +01:00
Ivan Enderlin
b856e111b6
Merge branch 'master' into test-runtime-core-typed_func 2019-11-19 14:34:53 +01:00
Syrus Akbary
41c1e071c8
Update CHANGELOG.md 2019-11-18 15:42:08 -08:00
bors[bot]
8ffd380006
Merge #973
973: Add sign extension spec tests; add sign extension to singlepass r=nlewycky a=MarkMcCaskey

Adds missing spectests from official repo, implements instructions for singlepass

# Review

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


Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+markmccaskey@users.noreply.github.com>
2019-11-18 22:16:49 +00:00
Syrus Akbary
95368aa5dc
Trigger azure pipeline job on new tag 2019-11-18 13:19:05 -08:00
Mark McCaskey
8a096a09e4 Remove extra register use in sign extension instructions 2019-11-18 11:47:58 -08:00
bors[bot]
e568c4a374
Merge #972
972: Prepare for 0.10.2 release r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-18 19:44:33 +00:00
Mark McCaskey
344132cc89
Merge branch 'master' into feature/singlepass-sign-extension 2019-11-18 11:38:12 -08:00
Mark McCaskey
8b6a7b77fc Clean up from feedback 2019-11-18 11:36:49 -08:00
bors[bot]
8e82a06532
Merge #981
981: Revert "Update Rust version to 1.39.0." r=MarkMcCaskey a=MarkMcCaskey

As far as I know we still want to be 1 behind latest stable to minimize breakage and bug reports (the compiler says you should install nightly when encountering new features)

# Review

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


Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-18 19:09:42 +00:00
Mark McCaskey
2cbc748188 Revert "Update Rust version to 1.39.0." 2019-11-18 09:59:07 -08:00
bors[bot]
647c6f8cbe
Merge #974
974: Update to Rust 1.39 r=losfair a=losfair

This PR updates the default Rust version to 1.39.

Necessary for code formatted with newer versions of `rustfmt` to pass the CI lint check.

Co-authored-by: losfair <zhy20000919@hotmail.com>
2019-11-18 14:07:12 +00:00
Ivan Enderlin
f6cb6ce286 fix(runtime-core) Remove a warning for unused_parens.
The behavior of `unused_parens` has changed since Rust 1.39. A warning
is then raised. This patch fixes that.
2019-11-18 12:44:40 +01:00
Ivan Enderlin
85a53e8e1f test(runtime-core) Test closures in Func::new. 2019-11-18 12:44:00 +01:00
Ivan Enderlin
4e42fa1e48 fix(runtime-core) Remove unnecessary implementation of WasmTypeList.
The unit tests `test_func_arity_*` covers all possibilities, from 0 to
12. Removing this specific implementation of `WasmTypeList` for `(A,)`
doesn't break the test cases.

Also, the `impl_traits!` macro already implement `WasmTypeList` for
`(A,)` with `impl_traits!([transparent] S1, A)`. It's not clear why
`rustc` doesn't detect that though.
2019-11-18 12:22:17 +01:00
losfair
021a75244e Reformat code for rust 1.39. 2019-11-17 04:39:39 +08:00
losfair
b36bf01188 Update Rust version to 1.39.0. 2019-11-17 04:38:40 +08:00
Mark McCaskey
7631aee4f4 Add sign extension spec tests; add sign extension to singlepass 2019-11-15 21:54:34 -08:00
bors[bot]
5582a89e6b
Merge #964
964: Enable compilation for specific target r=MarkMcCaskey a=xofyarg


<!-- 
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/master/CONTRIBUTING.md#pull-requests

-->

# Description
<!-- 
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->
By exposing the target information through `CompilerConfig`,
compiler(only LLVM at the moment) could create a machine with
different CPU feature flags other than current host, which makes it
capable to "cross compile" to some degree.

Update #959

# Review

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


Co-authored-by: anb <anb@dev.null>
2019-11-16 03:20:37 +00:00
anb
3b2d751c55 Enable compilation for specific target
By exposing the target information through `CompilerConfig`,
compiler(only LLVM at the moment) could create a machine with
different CPU feature flags other than current host, which makes it
capable to "cross compile" to some degree.

Update #959
2019-11-15 18:51:59 -08:00
Mark McCaskey
cebcb4c927 Prepare for 0.10.2 release 2019-11-15 14:55:53 -08:00
bors[bot]
ab59a418c3
Merge #971
971: When accessing memory, use byte aligned accesses. r=nlewycky a=nlewycky

# Description
When accessing memory, use byte aligned accesses.

LLVM's instcombine will attempt to bump the alignment when it can prove that it's safe to do so.

Fixes #969.

# Review

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


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-11-15 22:50:39 +00:00
Nick Lewycky
ecc82a7cab Add changelog entry. 2019-11-15 14:47:53 -08:00
Nick Lewycky
ebe8da7bd3 When accessing memory, use byte aligned accesses.
LLVM's instcombine will attempt to bump the alignment when it can prove that it's safe to do so.

Fixes #969.
2019-11-15 14:47:53 -08:00
bors[bot]
182e53bf28
Merge #968
968: Added invoke option to the command r=syrusakbary a=syrusakbary

# Description 

This PR adds an `--invoke` to the Wasmer CLI

<!-- 
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->

# Review

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


Co-authored-by: Syrus <me@syrusakbary.com>
2019-11-15 22:06:35 +00:00
Syrus
3d3636059a Revert "Improved wasmer invoke based on feedback"
This reverts commit f3b7c6b321.
2019-11-15 14:04:48 -08:00
Syrus
f3b7c6b321 Improved wasmer invoke based on feedback 2019-11-15 10:41:18 -08:00
Syrus
be1f192df2 Merge branch 'master' into invoke 2019-11-15 10:36:19 -08:00
Syrus
c15b9fcdcd Add examples dir to Docker file. Fix #970 2019-11-15 09:47:38 -08:00
Syrus Akbary
3cb7a4bf76
Use Rust 1.38. Fixed #970 2019-11-14 19:23:20 -08:00
Syrus
d0960dc390 Added changes to changelog 2019-11-14 12:10:44 -08:00
Syrus
7b3093ff7f Added invoke option to the command 2019-11-14 12:07:53 -08:00
bors[bot]
4a2eaa4143
Merge #966
966: Add deny missing docs to runtime lib r=bjfish a=bjfish

<!-- 
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/master/CONTRIBUTING.md#pull-requests

-->

# Description
<!-- 
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->


Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-11-14 18:16:03 +00:00
bors[bot]
69f8badc20
Merge #960
960: feat(runtime-c-api) Add support for clang in `WASMER_H_MACROS` r=MarkMcCaskey a=Hywan

In #952, the `WASMER_H_MACROS` constant has been defined. The `ARCH_X86_64` constant is defined under 2 conditions: If the compiler is MSVC + `_M_AMD64` is defined, or if the compiler is GCC + `__x86_64__` is defined.

Clang is missing. And it breaks some projects (like https://github.com/wasmerio/php-ext-wasm or https://github.com/wasmerio/go-ext-wasm for instance).

This patch supports Clang.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-11-14 17:42:42 +00:00
Ivan Enderlin
074a8f9747 Merge branch 'fix-runtime-c-api-header-preprocessor-clang' of github.com:Hywan/wasmer into fix-runtime-c-api-header-preprocessor-clang 2019-11-14 14:46:09 +01:00
Ivan Enderlin
c43a7c78d0
Merge branch 'master' into fix-runtime-c-api-header-preprocessor-clang 2019-11-14 14:45:27 +01:00
Ivan Enderlin
987b0765c0 chore(runtime-c-api) Update header files. 2019-11-14 14:37:55 +01:00
Ivan Enderlin
42b02bee71 fix(runtime-c-api) Write macros at column 0. 2019-11-14 14:37:06 +01:00
Brandon Fish
929bff9df8 Add deny missing docs to runtime lib 2019-11-13 22:59:21 -06:00
bors[bot]
fff16c08d0
Merge #965
965: Add categories and keywords to `Cargo.toml`s r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-11-13 23:47:56 +00:00
Mark McCaskey
9127eaf825 Add categories and keywords to Cargo.tomls 2019-11-13 15:46:09 -08:00
Syrus Akbary
b71ba82edb
Merge pull request #961 from Hywan/feat-runtime-core-func-macro-with-closures
feat(runtime-core) `func!` supports closures
2019-11-13 14:12:47 -08:00
Ivan Enderlin
c4dffd6f59 doc(runtime-core) Fix typos. 2019-11-13 15:55:45 +01:00
Ivan Enderlin
7b809a765f doc(runtime-core) Improve documentation of func!.
This patch explains that `func!` can consume closures.
2019-11-13 15:54:41 +01:00