Commit Graph

2253 Commits

Author SHA1 Message Date
Nick Lewycky
749691ca2a Add a comment explaining why we don't use the intrinsics for these. 2019-10-04 11:50:11 -07:00
Nick Lewycky
1a7f00f0af Rewrite Min/Max to handle all cases correctly.
Fixes 545 spectest failures.
2019-10-03 18:19:12 -07:00
Mark McCaskey
bfb9d3849c Fix merge 2019-10-03 11:58:06 -07:00
Mark McCaskey
689bdd08a1 Merge branch 'master' into feature/wasi-in-c-api 2019-10-03 11:56:37 -07:00
Mark McCaskey
70b55b801d Check argument pointers for null to WASI calls 2019-10-03 10:50:07 -07:00
Patrick Ventuzelo
4b3880c88b add details when calling unimplemented! 2019-10-03 11:26:54 +02:00
nlewycky
f63c706abc
Merge branch 'master' into feature/singlepass-atomicops 2019-10-02 16:46:59 -07:00
Nick Lewycky
ab76c2357f Delete dead (commented out) code. NFC. 2019-10-02 16:31:11 -07:00
Nick Lewycky
8e63d54fdb cargo fmt 2019-10-02 16:31:11 -07:00
Nick Lewycky
83b678bc36 Give this function a better name. 2019-10-02 16:31:11 -07:00
Nick Lewycky
11c5e0d71d Make the panics a bit more descriptive. 2019-10-02 16:31:11 -07:00
Nick Lewycky
ba68cfc2c6 Finish atomic operations for singlepass, excluding wait and notify. 2019-10-02 16:31:11 -07:00
Nick Lewycky
bc7e017188 Add atomic.rmw operations, excluding xchg and cmpxchg.
Sizes are now ordered, to facilitate an assertion that one size is less (smaller) than another.

panic! error messages are provided for remaining emitter functions.
2019-10-02 16:31:11 -07:00
Nick Lewycky
f021d59a0b Refactor out a compare-and-swap loop function. 2019-10-02 16:31:11 -07:00
Nick Lewycky
cd1d06f5a5 Initial working implementation of I32AtomicRmwAnd!
Adds the ability to reserve a specific temp-gpr register. Needed for CMPXCHG which always uses RAX.
2019-10-02 16:31:11 -07:00
Nick Lewycky
6937019b65 Use a compare-and-swap loop for AND.
BUG: This might allocate RAX twice.
2019-10-02 16:31:10 -07:00
Nick Lewycky
81895830f0 Add emitter for LOCK CMPXCHG so that we can emit compare-and-swap loops. 2019-10-02 16:31:10 -07:00
Nick Lewycky
efc89e829d Add i32 rmw add and sub. 2019-10-02 16:31:10 -07:00
Nick Lewycky
98f35ef84a Initial implementation of atomic load/store and i32 atomic rmw add. 2019-10-02 16:31:10 -07:00
Mark McCaskey
c77cbc1f40 Prepare for 0.8.0 release 2019-10-02 15:40:35 -07:00
bors[bot]
38078173d3
Merge #850
850: Add builder API for WasiState r=MarkMcCaskey a=MarkMcCaskey

Nicer to use and it checks for errors!

# Review

- [x] 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 <markmccaskey@users.noreply.github.com>
2019-10-02 20:17:29 +00:00
Mark McCaskey
afbde49d1f Update stub wasi generate import object fn
Fix typo

Fix debug issue
2019-10-02 13:16:47 -07:00
Mark McCaskey
b45b1c12f1 Add WASI support to runtime-c-api 2019-10-02 12:06:17 -07:00
Mark McCaskey
5185f120f4 Update some from feedback, fix tests
format with 1.37
2019-10-02 11:25:55 -07:00
Mark McCaskey
0d997c332f Fix example in runtime readme 2019-10-01 13:45:44 -07:00
Mark McCaskey
75286b580b
Merge branch 'master' into feature/builder-api-for-wasi-state 2019-10-01 09:32:25 -07:00
Jordan Danford
9be72e6808 Fix some other files too 2019-09-30 22:50:04 -07:00
Mark McCaskey
4660bc6652 Update API to be more cleann 2019-09-30 17:52:53 -07:00
Mark McCaskey
38602b257b Move validation to end of Builder 2019-09-30 16:32:18 -07:00
Mark McCaskey
2e860e589a Add builder API for WasiState 2019-09-30 15:26:04 -07:00
losfair
b304317682 More mov variants. 2019-09-30 01:01:15 +08:00
Heyang Zhou
dfb8989280
Merge branch 'master' into nlewycky/singlepass-add-zero 2019-09-29 12:52:26 +08:00
losfair
89d8b5a41c Fixes for aarch64. 2019-09-28 17:31:10 +08:00
Mark McCaskey
871310a851 Improve docs from feedback 2019-09-27 10:15:40 -07:00
Mark McCaskey
dc1744560c Add lots of rustdocs and clean up one line of code 2019-09-26 17:17:50 -07:00
Brandon Fish
008a1d7369 Update to published cranelift fork version 0.44.0 2019-09-26 08:43:12 -05:00
Brandon Fish
c69cdeca9b Update cranelift backend to fork version 0.44.0 2019-09-25 23:37:39 -05:00
Mark McCaskey
4266926e90 Add ImportObject maybe_with_namespace example 2019-09-25 12:37:27 -07:00
Syrus Akbary
fdc486c53d
Merge branch 'master' into feature/runtime-abi-delete 2019-09-25 10:21:20 -07:00
Patrick Ventuzelo
b45a228e84
Merge branch 'master' into ventuzelo/fix-800-index-oob-backing 2019-09-25 09:30:33 +02:00
Syrus
fec90b570b Delete unused runtime-abi 2019-09-24 22:10:03 -07:00
nlewycky
392a61ff12
Merge branch 'master' into nlewycky/singlepass-add-zero 2019-09-24 13:58:27 -07:00
Syrus
7bf306eb27 Use flat-square style in downloads button 2019-09-24 13:42:17 -07:00
Syrus
621ef56ab6 lmproved READMEs to use Azure Pipelines badges and better lgo 2019-09-24 13:36:31 -07:00
Syrus Akbary
588a77d2af
Merge branch 'master' into feature/merge-cranelift-0-43-1 2019-09-24 11:41:14 -07:00
Brandon Fish
b6d55b0b85 Update to published fork version 2019-09-24 13:30:52 -05:00
nlewycky
d7562c17ef
Merge branch 'master' into nlewycky/singlepass-add-zero 2019-09-24 10:57:57 -07:00
Nick Lewycky
be181f9119 Correct this test and simplify. 2019-09-24 10:54:23 -07:00
Patrick Ventuzelo
ac321846e3
Merge branch 'master' into ventuzelo/fix-653-panic-memorydescriptor 2019-09-24 09:10:45 +02:00
Patrick Ventuzelo
79ff3709cc fix cargo check fail build 2019-09-24 09:08:55 +02:00
Nick Lewycky
07b5991080 No need to emit add of constant zero. 2019-09-23 15:01:19 -07:00
bors[bot]
8c5ccdb497
Merge #807
807: Implement Send for Instance r=MarkMcCaskey a=MarkMcCaskey

# Review

- [x] Create a short description of the the change in the CHANGELOG.md file

Resolves #748 

WIP

## List of changes
### Commit 1
- `Global`s use Arc instead of RC
- Export `Context` and `FuncPointer` manually implement Send
- `ImportObject` uses `Arc<Mutex<HashMap<...>>>` Instead of `Rc<RefCell<HashMap<...>>>`; removed `get_namespace` method in favor of continuation style to deal with locking the Mutex
- `Func` manually implements `Send` (TODO: this change needs to be checked in depth)
### Commit 2
- `unsafe impl Send for Export {}` (temporary to allow Memory to be not Send)
- RefCell -> Mutex in Global and Table
- Rc -> Arc in Table
- Namespace's `IsExport`s must be `Send` (Done to avoid touching much more of the code (i.e. `trait IsExport: Send` requires a lot -- maybe this is what we should do though)
- Make `Host` and `Wasm` `Func`s Send (manual implementation)
- Manual implementation for `LocalTable` and `AnyFunc`
### Commit 3
- rm placeholder `unsafe impl Send for Export {}`
- Manual implementation for `LocalBacking` and `ImportBacking` (both seemed to be not Send due to direct ownership of mutable pointers in their containers)
- ImportObject's state creator Fn trait object is now ` + Send + Sync + 'static` (required because it's in an Arc)
- Manually implement Send for `InstanceInner` because it holds a raw pointer, `LocalBacking` and `ImportBacking` are marked Send separately 
- Memory: All Rc -> Arc (including unshared memory); All RefCell -> Mutex (including unshared memory)
- Manual implementation of Send and Sync on `UnsharedMemoryInternal`
- Manual implementation of Send and Sync on `SharedMemoryInternal`
- Change `runtime-core::unix::memory::Memory.fd` from `Option<Rc<Rawfd>>` to `Option<Arc<Rawfd>>` (not strictly required for this change because Memory has manual implementations of Send and Sync, but Arc seems more correct here and there's no comment justifying the use of Rc)
- Manual implementation of Send for `ImportedFunc`

Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-09-23 21:20:01 +00:00
Mark McCaskey
9cab6d721f Merge branch 'feature/make-instance-send' of github.com:wasmerio/wasmer into feature/make-instance-send 2019-09-23 13:43:48 -07:00
Mark McCaskey
c4818f12dc Update spectests to work with new Instance; use Arc<Mutex<>> 2019-09-23 13:43:01 -07:00
Syrus Akbary
eed033021b
Merge pull request #825 from Hywan/doc-runtime-core-memory-view
doc(runtime-core) Replace `map(|cell| cell.get())` by `map(Cell::get)`.
2019-09-23 11:34:00 -07:00
Mark McCaskey
705287c317
Merge branch 'master' into feature/make-instance-send 2019-09-23 11:06:00 -07:00
Mark McCaskey
1e637badc4 Merge remote-tracking branch 'origin/master' into feature/make-instance-send 2019-09-23 11:05:00 -07:00
Mark McCaskey
05ad1aaea4 Add test for Instance, fix tests for ImportObject 2019-09-23 11:04:31 -07:00
losfair
3dadbc15c9 Integer subset done. 2019-09-23 22:30:08 +08:00
Ivan Enderlin
f289cb2ba9 doc(runtime-core) Replace map(|cell| cell.get()) by map(Cell::get).
Because it's simpler :-p.
2019-09-23 15:15:06 +02:00
Patrick Ventuzelo
5ace7a0af3 fix failing test 2019-09-23 11:17:02 +02:00
Syrus
9942d3ae98 Improved Emscripten / WASI autodetection 2019-09-22 18:23:22 -07:00
Azure Pipelines
8e2f526f73 Added cpp example 2019-09-22 17:42:19 -07:00
Azure Pipelines
009c123332 Fixed emscripten main functions 2019-09-22 17:29:12 -07:00
Brandon Fish
a1a88c6eb8 Use the default features for wasmparser 2019-09-21 13:59:08 -05:00
Brandon Fish
f48d6f6690 Cranelift backend update to fork of clif version 0.43.1 2019-09-21 13:06:54 -05:00
bors[bot]
7d9e6d8caa
Merge #821
821: Remove patch version in deps when not necessary r=MarkMcCaskey a=MarkMcCaskey

This allows wasmer library users to have more control over the exact versions of deps that Wasmer uses.

# Review

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


Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-09-20 23:44:37 +00:00
Syrus Akbary
862a4c5448
Merge pull request #814 from confio/fix-linux-image-link-error
Fix issues with testing/linking singlepass in runtime-c-api
2019-09-20 16:33:30 -07:00
Mark McCaskey
bf396ec76d Remove patch version in deps when not necessary 2019-09-20 16:11:09 -07:00
Mark McCaskey
7f2c532594 Allow dead code in emscripten WasmPtr 2019-09-20 13:19:31 -07:00
Mark McCaskey
882a77ccf9 Remove null pointer checks generally, re-add them in Emscripten 2019-09-20 12:02:12 -07:00
Patrick Ventuzelo
7deed3160b cargo fmt 2019-09-20 18:59:36 +02:00
Patrick Ventuzelo
ca409f78c5 fix spectest 2019-09-20 18:54:05 +02:00
bors[bot]
0790ebff0c
Merge #803
803: Add method to call function at index on Ctx r=MarkMcCaskey a=MarkMcCaskey

For #638 and #670

```Rust
fn call_guest_fn(ctx: &mut Ctx, guest_fn: u32) -> u32 {
    println!("{}", guest_fn);

    let guest_fn_typed = unsafe { std::mem::transmute(guest_fn) };

    let result = ctx.call_with_table_index(guest_fn_typed, &[]).unwrap();
    println!("  -> {:?}", result);

    0
}
```
is what this looks like from the Host side

See `examples/callback.rs` for an example that doesn't require `transmute`


# Review

- [x] Create a short description of the the change in the CHANGELOG.md file


Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-09-19 20:55:09 +00:00
Ivan Enderlin
9a49fb59e0
Merge branch 'master' into fix-test-typo 2019-09-19 22:15:32 +02:00
bors[bot]
dd1a4a6c10
Merge #805
805: Replace panic! & unimplemented! in runtime-code and llvm-backend r=nlewycky a=pventuzelo

# Description

Replace `unimplemented!` by already used `CodegenError` in `lib/llvm-backend/src/code.rs`
Replace `unimplemented!` by `Err` in `lib/llvm-backend/src/trampolines.rs`
Replace `panic!` by already used `BinaryReaderError` in `lib/runtime-core/src/parse.rs`

# Review

- [ ] Create a short description of the the change in the CHANGELOG.md file


Co-authored-by: Patrick Ventuzelo <ventuzelo.patrick@gmail.com>
2019-09-19 19:20:04 +00:00
Johan Andersson
8d0edc61df Merge master 2019-09-19 11:16:14 +02:00
Mark McCaskey
a9d8b22fe7
Merge branch 'master' into feature/call-function-at-index-on-just-ctx 2019-09-18 16:46:08 -07:00
Mark McCaskey
ccd369ff0c Add example, rename Ctx fn, make things pub(crate), misc changes 2019-09-18 16:43:47 -07:00
Mark McCaskey
5741a2cf70 Implement function lookups using the table 2019-09-18 16:06:46 -07:00
Ethan Frey
8ae255b51a Fix issues with testing/linking singlepass in runtime-c-api 2019-09-19 00:19:17 +02:00
Ethan Frey
e8a918e2e5 %lld -> %ld fixes cargo test compile error 2019-09-18 23:25:35 +02:00
losfair
a124d87d0f Fix Operator::MemorySize. 2019-09-19 01:10:23 +08:00
losfair
5f8b289751 movzx/movsx 2019-09-19 01:04:20 +08:00
losfair
8a91f801b9 Fix return from homomorphic host redirection trampoline. 2019-09-18 21:47:31 +08:00
Patrick Ventuzelo
315b87c718 check index before accessing imports.globals 2019-09-18 10:28:49 +02:00
Mark McCaskey
9c205e05a2 Add comments explaining the unsafe impls and simplify the code, too 2019-09-17 18:35:12 -07:00
Mark McCaskey
83c3909b00 Implement it for memory and make Instance Send 2019-09-17 14:58:26 -07:00
Mark McCaskey
9e9343878d Implement Send for everything except Memory 2019-09-17 11:45:13 -07:00
losfair
72b6123def Fix memory grow 2019-09-18 02:38:35 +08:00
losfair
e40600533e Add missing emit_mov variants. 2019-09-18 02:30:45 +08:00
losfair
97b75d0124 Ensure callee-saved registers are properly preserved. 2019-09-18 02:21:35 +08:00
losfair
b57aba4ae7 Add homomorphic host redirection abstraction for vm->host calls. 2019-09-18 02:14:13 +08:00
Mark McCaskey
17a0e78cef Implement Send for Instance 2019-09-17 10:37:37 -07:00
Patrick Ventuzelo
374f81972a remove panic from UnsharedMemory 2019-09-17 17:46:36 +02:00
Patrick Ventuzelo
c660aa9fce fix 653 panic in memoryDescriptor 2019-09-17 17:42:06 +02:00
Patrick Ventuzelo
726269a52c fix missing info error 2019-09-17 12:05:00 +02:00
Patrick Ventuzelo
4190f01195 remove panic and unimplemented in llvm-backend and runtime-core 2019-09-17 12:03:03 +02:00
Mark McCaskey
b35a522d28 Add method to call function at index on Ctx 2019-09-16 15:01:18 -07:00
Johan Andersson
ba488adb8f
Merge branch 'master' into remove-colored 2019-09-16 22:17:34 +02:00
Nick Lewycky
05816e3221 This is no longer referring to the correct line.
It's supposed to be 352 which is already there.
2019-09-16 13:13:21 -07:00
Nick Lewycky
2108c908a4 Depending on the micro-arch, this function may trigger emission of a stack realignment. If it does, OSR can't statically prove that it's safe to insert a function call and asserts. 2019-09-16 12:14:10 -07:00
Nick Lewycky
59597b9e83 Switch from PIC+Default (small) to Static+Large. Should fix flaky test failures. 2019-09-16 10:49:39 -07:00
losfair
d8b313e3fd Fix emit_lea. 2019-09-17 00:49:21 +08:00
losfair
05557fc9ad Bump dynasm to v0.5.1 2019-09-16 23:46:10 +08:00
Patrick Ventuzelo
00c2e09f43 fix CodeGen message type 2019-09-16 11:00:03 +02:00
Patrick Ventuzelo
33ba6768bc replace panics by CodeGen Error in codegen_x64 2019-09-16 09:56:41 +02:00
losfair
96163a07a6 Temporarily disable all lints in runtime-core. 2019-09-15 18:33:53 +08:00
losfair
2af69f6710 Fixed compilation on aarch64. 2019-09-15 18:32:02 +08:00
losfair
9b77677e4b Relax constraints a bit to compile on aarch64. 2019-09-15 18:23:42 +08:00
losfair
d3227f830c More instructions & aarch64 trampolines. 2019-09-15 17:57:40 +08:00
Johan Andersson
21bcac2159 Rustfmt 2019-09-15 03:31:05 +02:00
Johan Andersson
ad70caff83 Remove colored CLI output from runtime-core lib.
When the colored output was originally added in https://github.com/wasmerio/wasmer/pull/489 and there was a discussion then about that it should ideally be in a higher-level crate rather than in the runtime-core library crate.

I agree with that, users of the library shouldn't be required to bring in the colored crate dependency and ideally also not have stdout/stderr output either, that should be controlled by the application that uses wasmer-runtime-core, not the library.

Disabling stdout/stderr output would be more intrusive but I wanted to at least not have colored output and another crate dependency so this change removes the colored output and the "colored" crate.
2019-09-15 03:21:04 +02:00
Nick Lewycky
0387c3ff93 Turn this unreachable into a panic with an error message. 2019-09-13 14:44:54 -07:00
Nick Lewycky
afe22dfafc Copy the spectest repository license from the official WebAssembly testsuite. These tests are under that license.
Remove our own license statements on a few files since they're now redundant. They were all referencing this license.
2019-09-13 13:37:48 -07:00
Nick Lewycky
8dd82c05e6 Implement atomic load and store instructions with actual atomics in the LLVM backend.
Includes a run of `cargo update` to pick up the newer inkwell required.
2019-09-13 12:05:55 -07:00
dependabot-preview[bot]
0e96c35998
Bump indexmap from 1.1.0 to 1.2.0
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.1.0...1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-12 20:39:52 +00:00
Mark McCaskey
35bb3879a4 Add required-by-cargo version pinning in manifest for middleware-common 2019-09-12 12:51:39 -07:00
Mark McCaskey
33811cde37 Fix mistake in version update; generate lock file 2019-09-12 12:49:11 -07:00
Mark McCaskey
0f4d266e4e Prepare for 0.7.0 release 2019-09-12 12:44:38 -07:00
bors[bot]
38048b6acf
Merge #774
774: Introduce some breaking changes to WasiFS API for next release r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-09-12 18:55:29 +00:00
bors[bot]
9016cb166c
Merge #720 #765
720: Bump lazy_static from 1.3.0 to 1.4.0 r=Hywan a=dependabot-preview[bot]

Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) from 1.3.0 to 1.4.0.
<details>
<summary>Release notes</summary>

*Sourced from [lazy_static's releases](https://github.com/rust-lang-nursery/lazy-static.rs/releases).*

> ## 1.4.0
> **Bumps the minimum supported version of `rustc` to `1.27.2`**
> 
> - [Fix typo in lib.rs](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/pull/144) (thanks [@&#8203;fbruetting](https://github.com/fbruetting))
> - [Automatically check if README.md examples are working when running "cargo test"](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/pull/145) (thanks [@&#8203;GuillaumeGomez](https://github.com/GuillaumeGomez))
> - [Allow deprecated to remove warnings in nightly](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/pull/152) (thanks [@&#8203;Schaeff](https://github.com/Schaeff))
> - [bump MSRV to 1.27.2](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/pull/155) (thanks [@&#8203;matklad](https://github.com/matklad))
</details>
<details>
<summary>Commits</summary>

- [`4216696`](421669662b) Merge pull request [#156](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/issues/156) from rust-lang-nursery/cargo/1.4.0
- [`1651fde`](1651fdeee8) prepare for 1.4.0 release
- [`d9c9689`](d9c96890da) Merge pull request [#155](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/issues/155) from matklad/hints
- [`d59c784`](d59c7848d4) adjust FIXME comment
- [`90baadd`](90baaddd61) comment typo
- [`42fa58e`](42fa58ea68) bump MSRV to 1.27.2
- [`8a5f404`](8a5f404fc8) Merge pull request [#152](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/issues/152) from Schaeff/allow-deprecated
- [`1dbd5ae`](1dbd5ae6cc) allow deprecated to remove warning in nightly
- [`65d58f1`](65d58f1a60) Merge pull request [#145](https://github-redirect.dependabot.com/rust-lang-nursery/lazy-static.rs/issues/145) from GuillaumeGomez/doc-tests
- [`e519fd4`](e519fd42c3) Automatically check if README.md examples are working when running "cargo test"
- Additional commits viewable in [compare view](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.3.0...1.4.0)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=lazy_static&package-manager=cargo&previous-version=1.3.0&new-version=1.4.0)](https://dependabot.com/compatibility-score.html?dependency-name=lazy_static&package-manager=cargo&previous-version=1.3.0&new-version=1.4.0)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

765: Bump blake2b_simd from 0.5.7 to 0.5.8 r=Hywan a=dependabot-preview[bot]

Bumps [blake2b_simd](https://github.com/oconnor663/blake2_simd) from 0.5.7 to 0.5.8.
<details>
<summary>Commits</summary>

- [`296d75e`](296d75e502) version 0.5.8
- [`3706393`](3706393fd9) Merge pull request [#12](https://github-redirect.dependabot.com/oconnor663/blake2_simd/issues/12) from kobigurk/master
- [`1ee274d`](1ee274d775) Addresses Jack's comments
- [`ec7c0fc`](ec7c0fc1d3) Adds test vectors for blake2x
- [`2bcd7bf`](2bcd7bfa12) Adds support for max depth 0 for blake2b and fixes tests
- [`0ce1995`](0ce1995ff0) adds support for max depth 0
- See full diff in [compare view](https://github.com/oconnor663/blake2_simd/compare/0.5.7...0.5.8)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=blake2b_simd&package-manager=cargo&previous-version=0.5.7&new-version=0.5.8)](https://dependabot.com/compatibility-score.html?dependency-name=blake2b_simd&package-manager=cargo&previous-version=0.5.7&new-version=0.5.8)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-09-12 13:47:43 +00:00
Mark McCaskey
f5803f04e1 Add comment to generated code saying that it's generated code for wasi 2019-09-11 17:41:25 -07:00
Mark McCaskey
35ee83d5ca og -> original 2019-09-11 16:31:43 -07:00
Mark McCaskey
6fe3719e8e Add test for closing wasi preopen fd 2019-09-11 14:25:53 -07:00
Mark McCaskey
7e640c0dfb Introduce some breaking changes to WasiFS API for next release 2019-09-10 13:52:02 -07:00
losfair
ce7c903c23 Add impl for more instructions for aarch64 translator. 2019-09-11 01:13:52 +08:00
dependabot-preview[bot]
009bb67686
Bump lazy_static from 1.3.0 to 1.4.0
Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/rust-lang-nursery/lazy-static.rs/releases)
- [Commits](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.3.0...1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 23:02:16 +00:00
dependabot-preview[bot]
301d7a313e
Bump blake2b_simd from 0.5.7 to 0.5.8
Bumps [blake2b_simd](https://github.com/oconnor663/blake2_simd) from 0.5.7 to 0.5.8.
- [Release notes](https://github.com/oconnor663/blake2_simd/releases)
- [Commits](https://github.com/oconnor663/blake2_simd/compare/0.5.7...0.5.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 23:02:16 +00:00
Syrus Akbary
d3a9c5edb7
Merge branch 'master' into ventuzelo/fix-panics-backing 2019-09-09 19:29:08 -03:00
nlewycky
ea3d7272d9
The VM callbacks for shared static are the same as those for unshared static memory. 2019-09-09 08:34:47 -07:00
Patrick Ventuzelo
ba5c43e09d fix issue 725, remove panics 2019-09-09 16:58:26 +02:00
Patrick Ventuzelo
3a54111988 replace unimplemented by Err 2019-09-09 13:50:30 +02:00
losfair
4210715070 AArch64 translation module. 2019-09-07 01:32:21 +08:00
Ivan Enderlin
1f1ecb7e00 test(runtime-c-api) Use calloc and simplify code. 2019-09-06 10:20:36 +02:00
Ivan Enderlin
a67ce539ef test: Fix CS. 2019-09-05 15:10:09 +02:00
Ivan Enderlin
86ec75fd98 chore(runtime-c-api) Update C & C++ headers. 2019-09-05 15:09:21 +02:00
Ivan Enderlin
a2343f9f0d test(runtime-c-api) Fully test all kind of exports. 2019-09-05 15:08:23 +02:00
Ivan Enderlin
2d63e25075 feat(runtime-c-api) Arity cannot be negative when calling wasmer_export_func_call. 2019-09-05 14:31:43 +02:00
Mark McCaskey
7a9afbffe9
Merge branch 'master' into feature/serialization-of-wasi-state 2019-09-04 14:36:25 -07:00
Syrus
d8471e2b6a Improved docs with custom logo and favicon 2019-09-03 17:06:31 -07:00
Syrus Akbary
777833ee05
Merge pull request #743 from wasmerio/dependabot/cargo/cbindgen-0.9.1
Bump cbindgen from 0.9.0 to 0.9.1
2019-09-02 10:23:44 -07:00
dependabot-preview[bot]
616b768529
Bump winapi from 0.3.7 to 0.3.8
Bumps [winapi](https://github.com/retep998/winapi-rs) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/retep998/winapi-rs/releases)
- [Commits](https://github.com/retep998/winapi-rs/compare/0.3.7...0.3.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-02 09:11:48 +00:00
dependabot-preview[bot]
8a2017cce3
Bump cbindgen from 0.9.0 to 0.9.1
Bumps [cbindgen](https://github.com/eqrion/cbindgen) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/eqrion/cbindgen/releases)
- [Changelog](https://github.com/eqrion/cbindgen/blob/master/CHANGES)
- [Commits](https://github.com/eqrion/cbindgen/compare/v0.9.0...v0.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-02 09:11:25 +00:00
Syrus
20c296ef2b Fixed excludes 2019-09-01 10:21:46 -07:00
Syrus
416d8d13d1 Fix tests exclusion 2019-09-01 09:31:02 -07:00
Syrus
bc990cc18a Updated Runtime C API comments 2019-09-01 08:52:19 -07:00
Syrus
dc02d0e401 Comment LLVM SIMD spectests on Linux after OSR 2019-09-01 08:52:03 -07:00
losfair
9015b79091 Cargo fmt 2019-09-01 18:17:47 +08:00
losfair
45040650dd Fix the missing Copy trait error 2019-09-01 18:17:31 +08:00
losfair
7dd5c92c21 Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-09-01 17:58:44 +08:00
Syrus Akbary
b48766535a
Merge branch 'master' into feature/serialization-of-wasi-state 2019-09-01 00:05:00 -07:00
Syrus Akbary
329b283937
Merge pull request #656 from wasmerio/feature/azure-pipelines
Initial version of Azure pipelines
2019-08-31 23:51:37 -07:00
bors[bot]
6d351b514c
Merge #733
733: Split middleware-common tests into separate subcrate r=MarkMcCaskey a=MarkMcCaskey

New depgraph:
![wasmer_depgraph](https://user-images.githubusercontent.com/5770194/63965617-8719c000-cad4-11e9-8d46-ad8799caad6a.png)


Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-08-29 20:48:53 +00:00
Mark McCaskey
8b32a838f7
Merge branch 'master' into feature/serialization-of-wasi-state 2019-08-30 05:16:50 +09:00
Mark McCaskey
91b199fe12 Split middleware-common tests into separate subcrate 2019-08-29 11:14:57 -07:00
Mark McCaskey
7027d7b2c8 Improve code reuse in polling, reduce cfg usage too 2019-08-29 10:54:27 -07:00
Mark McCaskey
fba6dbff78 Add tests for stdin, stdout, stderr; implement bytes_available too 2019-08-29 10:42:38 -07:00
Mark McCaskey
0776da7e22 Remove fd_entry lookup on stdin,out,err for wasi::poll_oneoff 2019-08-28 16:14:14 -07:00
Mark McCaskey
6767087004 Always flush when writing, even if we get invalid pointers 2019-08-28 15:13:30 -07:00
Mark McCaskey
8a2dba534a Improve error handling, fix probable lifetime issue 2019-08-28 13:19:06 -07:00
Mark McCaskey
a188e7f652 Add debug code for CI 2019-08-28 11:19:59 -07:00
Mark McCaskey
634aca8b9d Add WASI serializing test 2019-08-28 10:50:59 -07:00
Mark McCaskey
e88a08f973 Use typetag so that we can still use serde 2019-08-27 15:18:12 -07:00
Mark McCaskey
538bba5638 Add comment explaining why WasmHash is implemented the way it is 2019-08-27 11:50:03 -07:00
Mark McCaskey
51faeed2cf Add serialization for WASI state - wip 2019-08-26 17:11:56 -07:00
Syrus
998a25e2d1 Fixed windows tests 2019-08-25 00:24:21 -07:00
losfair
212e2be166 Remove -fno-rtti 2019-08-22 22:58:08 -07:00
losfair
613e4de9fc Fix LLVM object loader exceptions. 2019-08-22 18:57:26 -07:00
losfair
dcb16a2ae9 Disable test_indirect_many as a mitigation for issue #717 . 2019-08-22 17:57:22 -07:00
losfair
bdcd73cd63 Unblock signals in LLVM trap handler. 2019-08-22 17:45:52 -07:00
losfair
f503764780 Restore previous unwind_state. 2019-08-22 17:22:33 -07:00
losfair
d7c5bb904e Only disallow dead code in llvm-backend for non-Windows environments. 2019-08-22 13:32:35 -07:00
losfair
6534c28aed Allow dead code in llvm-backend. 2019-08-22 13:30:50 -07:00
losfair
e89ab43b98 Fix unused 'stackmaps' and 'module_info' on Windows 2019-08-22 13:25:52 -07:00
losfair
d868445d09 Fix unused import 'vm' on Windows 2019-08-22 13:19:46 -07:00
losfair
eef38429fc Fix unused imports on Windows. 2019-08-22 13:14:05 -07:00
losfair
7491b360ac Fix CodeMemory::new(0) 2019-08-22 11:57:58 -07:00
losfair
86814a1920 Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-22 10:47:39 -07:00
Yaron Wittenstein
86a3a75fe7 adding to llvm-backend feature: "wasmer-runtime/default-backend-llvm" 2019-08-22 17:21:13 +03:00
Yaron Wittenstein
ad49e98183 Merge branch 'master' into c-api-cargo-singlepass-feature 2019-08-22 17:09:29 +03:00
Yaron Wittenstein
dd705d8031 Cargo.toml - building singlepass-backend without default features works 2019-08-22 16:36:01 +03:00
Yaron Wittenstein
4fcf61f3a0 Cargo.toml - fix 2019-08-22 15:52:23 +03:00
Yaron Wittenstein
0d888824cd Cargo.toml - renaming features 2019-08-22 14:36:12 +03:00
Ivan Enderlin
6403159b57
Merge branch 'master' into doc-runtime-c-api-exports-1 2019-08-22 13:29:54 +02:00
Ivan Enderlin
a9bb8fea16
doc(runtime-c-api) Fix a typo.
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2019-08-22 13:29:26 +02:00
Ivan Enderlin
8ad181f94c
doc(runtime-c-api) Fix a typo.
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2019-08-22 13:29:11 +02:00
Yaron Wittenstein
2c3e5f06d0 Cargo.toml - renaming feature default-backend-singlepass to singlepass. 2019-08-22 14:23:13 +03:00
Yaron Wittenstein
0b84d9b5af Cargo.toml - installing cranelif by default. 2019-08-22 13:24:25 +03:00
Yaron Wittenstein
4a74023793 Merge branch 'master' into c-api-cargo-singlepass-feature 2019-08-22 13:06:45 +03:00
Yaron Wittenstein
2370553f3b Merge branch 'master' into c-api-cargo-singlepass-feature 2019-08-22 11:12:04 +03:00
Yaron Wittenstein
ad0cf47812 Merge branch 'develop' into c-api-cargo-singlepass-feature 2019-08-22 11:05:08 +03:00
Yaron Wittenstein
e6387ec7c3 Merge branch 'master' into c-api-cargo-singlepass-feature 2019-08-22 11:02:57 +03:00
losfair
c7377a465f Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-21 15:49:25 -07:00
dependabot-preview[bot]
5d4b78e880
Bump nix from 0.14.1 to 0.15.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.14.1 to 0.15.0.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-21 22:36:56 +00:00
losfair
b0beb28ea7 Fix unused import on Windows. 2019-08-21 15:32:20 -07:00
losfair
56e735349d Format everything 2019-08-21 15:23:56 -07:00
losfair
53ebcc355a Disable LLVM stackmap on Windows 2019-08-21 15:23:11 -07:00
losfair
6d7a91a271 Remove a.out in lib/runtime-c-api/tests. 2019-08-21 15:10:27 -07:00
losfair
08ab8d16e1 Handle SIGILL in LLVM. 2019-08-21 15:05:10 -07:00
Nick Lewycky
8705fe172d Merge branch 'master' of github.com:wasmerio/wasmer into feature/shared-memory 2019-08-21 15:04:38 -07:00
losfair
74faaa3be8 Merge branch 'fix/llvm-trap-windows' into feature/llvm-osr 2019-08-21 15:02:17 -07:00
Nick Lewycky
e6ec261cd5 Remove commented out code. 2019-08-21 15:01:21 -07:00
losfair
bf9d915635 Fix a few issues from PR comments. 2019-08-21 14:53:33 -07:00
losfair
bf471fbc24 Cleanup LLVM object loader. 2019-08-21 11:08:23 -07:00
bors[bot]
31365510ed
Merge #703
703: Fix compilation on AArch64 Linux. r=losfair a=losfair

This only fixes compilation. Cranelift still reports many `not yet implemented` on AArch64.

Co-authored-by: losfair <zhy20000919@hotmail.com>
2019-08-21 17:51:48 +00:00
bors[bot]
15913a946f
Merge #666 #695
666: Bump serde_bytes from 0.11.1 to 0.11.2 r=Hywan a=dependabot-preview[bot]

Bumps [serde_bytes](https://github.com/serde-rs/bytes) from 0.11.1 to 0.11.2.
<details>
<summary>Release notes</summary>

*Sourced from [serde_bytes's releases](https://github.com/serde-rs/bytes/releases).*

> ## 0.11.2
> - Support "alloc" feature on stable Rust 1.36+ ([#16](https://github-redirect.dependabot.com/serde-rs/bytes/issues/16), thanks [@&#8203;martindisch](https://github.com/martindisch))
</details>
<details>
<summary>Commits</summary>

- [`4856e26`](4856e2611f) Release 0.11.2
- [`1d40bb5`](1d40bb5994) Merge pull request [#16](https://github-redirect.dependabot.com/serde-rs/bytes/issues/16) from martindisch/alloc-stable
- [`a626ecc`](a626ecce86) Remove unstable feature attribute for alloc crate
- See full diff in [compare view](https://github.com/serde-rs/bytes/compare/0.11.1...0.11.2)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=serde_bytes&package-manager=cargo&previous-version=0.11.1&new-version=0.11.2)](https://dependabot.com/compatibility-score.html?dependency-name=serde_bytes&package-manager=cargo&previous-version=0.11.1&new-version=0.11.2)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

695: Bump serde from 1.0.98 to 1.0.99 r=Hywan a=dependabot-preview[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.98 to 1.0.99.
<details>
<summary>Release notes</summary>

*Sourced from [serde's releases](https://github.com/serde-rs/serde/releases).*

> ## v1.0.99
> - Update Syn dependency to 1.0.
> 
>     *Note: This raises the minimum required compiler version for serde_derive from rustc 1.15 to rustc 1.31. The minimum required compiler version for serde remains at rustc 1.13.*
</details>
<details>
<summary>Commits</summary>

- [`192f5cd`](192f5cd647) Release 1.0.99
- [`7dceee6`](7dceee64fe) Merge pull request [#1591](https://github-redirect.dependabot.com/serde-rs/serde/issues/1591) from dtolnay/up
- [`8ad6ae7`](8ad6ae71c6) Update serde_derive minimum rustc version to 1.31
- [`3ea85a2`](3ea85a28cf) Update to syn/quote 1.0
- [`273ecdb`](273ecdb786) Update ui tests on nightly-2019-08-16
- [`de40eb7`](de40eb7306) Update serde_derive to use question mark
- [`b9c4407`](b9c44073ce) Update serde_test to use question mark
- [`d6e5947`](d6e5947ad2) Suppress warnings about try! macro
- [`668651e`](668651ee01) Format with rustfmt 2019-07-30
- [`fb1cacc`](fb1cacc10e) Update Attr structs to hold symbols
- Additional commits viewable in [compare view](https://github.com/serde-rs/serde/compare/v1.0.98...v1.0.99)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.98&new-version=1.0.99)](https://dependabot.com/compatibility-score.html?dependency-name=serde&package-manager=cargo&previous-version=1.0.98&new-version=1.0.99)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-08-21 07:46:26 +00:00
losfair
3f0dae3329 Fix compilation on AArch64 Linux. 2019-08-20 16:37:32 -07:00
Nick Lewycky
2882c75957 No need to emit any alignment check for byte-aligned accesses. 2019-08-20 11:30:30 -07:00
Nick Lewycky
70d561a1dd Remove SharedStaticMemory and simplify surrounding code. 2019-08-20 11:30:19 -07:00
Nick Lewycky
1568084d42 Add atomic.wast which we have zero failures on with the llvm backend.
Enable shared memory usage in simd.wast.

Exclude atomic.wast on singlepass and clif.
2019-08-20 11:17:52 -07:00
Nick Lewycky
dcf70167da Fix i64.atomic.load32_u and all alignment checks. 2019-08-20 11:03:22 -07:00
Nick Lewycky
0ba73ac50c Correct flipped misalignment test. 2019-08-20 10:39:53 -07:00
losfair
90dcdfec1c Cargo fmt 2019-08-19 19:17:50 -07:00
losfair
4e6267aa57 Correctly handle more than 5 WASM function parameters when reading state of a LLVM context. 2019-08-19 19:12:33 -07:00
Nick Lewycky
172ef77ddd Use the static intrinsics for static shared memory too. 2019-08-19 17:26:35 -07:00
Nick Lewycky
d66b805529 Add misaligned atomic access trap display for WasmTrapInfo. 2019-08-19 17:26:15 -07:00
Nick Lewycky
0eba153232 Implement shared static memory similarly to unshared static memory. 2019-08-19 15:18:22 -07:00
losfair
124ad73e8a Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-19 13:06:59 -07:00
Nick Lewycky
c8378329c1 Expound upon Fence's empty implementation being correct. 2019-08-19 10:51:14 -07:00
Nick Lewycky
aecce465c7 Implement atomic.rmw operations including atomic.rmw.cmpxchg. 2019-08-19 10:51:14 -07:00
Nick Lewycky
f2077c204b Implement fence correctly, atomic load/store as non-atomic.
Adds trap for misaligned accesses.
2019-08-19 10:51:14 -07:00
Nick Lewycky
7f3837abc5 Enable threads in spectests. 2019-08-19 10:51:14 -07:00
Nick Lewycky
86346d6ebe Thread the feature support through to wasmparser. 2019-08-19 10:51:14 -07:00
Nick Lewycky
cca419c982 Add the --enable-threads flag and thread it as far as runtime-core. 2019-08-19 10:51:14 -07:00
dependabot-preview[bot]
d6fce6cf67
Bump serde_bytes from 0.11.1 to 0.11.2
Bumps [serde_bytes](https://github.com/serde-rs/bytes) from 0.11.1 to 0.11.2.
- [Release notes](https://github.com/serde-rs/bytes/releases)
- [Commits](https://github.com/serde-rs/bytes/compare/0.11.1...0.11.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-19 16:36:27 +00:00
dependabot-preview[bot]
92dff871b4
Bump serde from 1.0.98 to 1.0.99
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.98 to 1.0.99.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.98...v1.0.99)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-19 16:36:26 +00:00
bors[bot]
6b2cd7e9cc
Merge #680
680: Fix singlepass error when no function code present r=bjfish a=bjfish



Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
Co-authored-by: Brandon Fish <bjfish@users.noreply.github.com>
2019-08-19 16:20:09 +00:00
Brandon Fish
38b1e3d25e
Merge branch 'master' into feature/fix-singlepass-panic-no-functions 2019-08-19 09:24:55 -06:00
Brandon Fish
1886760eba Fix issue with emscripten memory out of range 2019-08-19 09:45:14 -05:00
nlewycky
8b22d40988
Merge branch 'master' into nlewycky/std-atomic 2019-08-17 10:40:34 -07:00
Brandon Fish
7b7f55306c
Merge branch 'master' into feature/fix-singlepass-panic-no-functions 2019-08-17 00:34:06 -06:00
Brandon Fish
d89990951e Convert panic to error when calling emscripten main 2019-08-16 22:18:13 -06:00
Nick Lewycky
3040ec90ad cargo fmt 2019-08-16 18:00:20 -07:00
Nick Lewycky
a3fe372beb Replace wasmer_runtime_code::memory::Atomic with std::sync::atomic atomics.
This means we lose op_new(), op_weak() and proxy() from the interface.
2019-08-16 17:36:11 -07:00
losfair
dbaa000e96 Re-enable snapshotting. 2019-08-16 13:08:10 -07:00
Brandon Fish
57e621d307 Fix emscripten test usage and fix error conditional 2019-08-16 09:57:36 -06:00
Brandon Fish
d1c9ab3539 Convert emscripten memory assertion to error 2019-08-16 09:18:51 -06:00
Brandon Fish
03cabce2d5 Fix emscripten table assertion panic 2019-08-16 09:12:46 -06:00
Brandon Fish
bccbbb3d8b Add deny nonstandard-style and unused-mut lints 2019-08-15 20:18:29 -06:00
losfair
afa0600701 Cargo fmt 2019-08-15 19:13:00 -07:00
losfair
6a24485999 Insert trampolines to preserve callee-saved registers for backends without register save area information. 2019-08-15 19:10:24 -07:00
Brandon Fish
98d3e04137 Fix unused mut warning 2019-08-15 20:09:51 -06:00
losfair
0a54213d4f register_preservation_trampoline 2019-08-15 19:08:11 -07:00
losfair
7028df23ef Allow only integers for LLVM function param/return values. 2019-08-15 19:07:03 -07:00
Brandon Fish
439e81d41e Fix singlepass error when no function code present 2019-08-15 10:15:58 -06:00
bors[bot]
995f40564e Merge #671
671: Add wasi::poll_oneoff for Unix r=MarkMcCaskey a=MarkMcCaskey

Part of #570

Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
2019-08-15 07:58:35 +00:00
Mark McCaskey
0c45707d33 implement wasi::poll_oneoff for write on Unix-like platforms 2019-08-15 15:51:16 +09:00
Mark McCaskey
d733989657 Add wasi::poll_oneoff file read test 2019-08-15 13:13:20 +09:00
losfair
1582224d61 Cargo fmt 2019-08-14 17:16:30 -07:00
losfair
9edd9ffdfe Make lookup_*_ip public. 2019-08-14 17:14:01 -07:00
losfair
c9e3db3d94 Remove feature(core_intrinsics) 2019-08-14 16:41:44 -07:00
losfair
98ef9182d7 Run clang-format and cargo fmt 2019-08-14 16:35:40 -07:00
losfair
0e0573c73c Merge remote-tracking branch 'origin/master' into feature/llvm-osr 2019-08-14 16:33:26 -07:00
Mark McCaskey
ec20e325fb Feature gate Unix-specific polling code 2019-08-14 16:38:57 +09:00
Mark McCaskey
34340692bf
Merge branch 'master' into feature/wasi-polloneoff 2019-08-14 16:14:47 +09:00
Mark McCaskey
8c03338330 Implement wasi::poll_oneoff more properly for Unix 2019-08-14 15:51:39 +09:00
Nick Lewycky
2f3c9c3e2f Mark memory.size VM intrinsics as not modifying state, and throw.trap/breakpoint as functions which do not return. 2019-08-13 21:50:54 -07:00
Brandon Fish
8e46e797ac Compare float bits in spectests assert return 2019-08-13 22:14:10 -06:00
Brandon Fish
0bf33662d1 Add missing LLVM imported memory functions 2019-08-13 20:07:55 -06:00
Brandon Fish
137ac206af Return compile error (llvm) for setting immutable global 2019-08-13 17:59:04 -06:00
Brandon Fish
de8fe32dbe Add memory validation 2019-08-13 13:04:13 -06:00
Mark McCaskey
09b056cc40 Add wip wasi::poll_oneoff work 2019-08-13 16:59:01 +09:00
Syrus Akbary
5239cdb85a
Merge pull request #668 from wasmerio/feature/update-wabt-to-fix-names-spectests
Update WABT dep to fix names spectests
2019-08-13 00:13:36 -07:00
Brandon Fish
f22250d85a Refactor func_count in parser 2019-08-12 21:36:17 -06:00
Brandon Fish
e76777ed9b Finalize signatures & names when no function bodies 2019-08-12 20:22:54 -06:00
Brandon Fish
d695bd0c84 Update WABT dep to fixe names spectests 2019-08-12 15:35:32 -06:00
Brandon Fish
20cb7c0048
Merge branch 'master' into feature/unexclude-passing-elem-spec 2019-08-11 18:04:54 -06:00
Brandon Fish
9b4ba66e11 Add code comment explanation of validation 2019-08-11 13:59:48 -06:00
Brandon Fish
c837b56678 Unexclude passing elem spec 2019-08-11 13:52:57 -06:00
Brandon Fish
f61fc5c298 Validate all initializers before finalizing 2019-08-11 13:28:47 -06:00
Brandon Fish
38a8a0eb01 Minimize unsafe block to unsafe code 2019-08-10 17:20:27 -06:00
Brandon Fish
b7970fb982 Uncomment slow exclude test again 2019-08-10 17:11:32 -06:00
Brandon Fish
0b73776c84 Validate all memory data initializers before writing 2019-08-10 17:10:24 -06:00
Brandon Fish
228d562a3b Re-use registered module instances in spectests 2019-08-10 15:56:25 -06:00
Brandon Fish
db5d8a5bf8 Push debug print to debug CI failure 2019-08-10 15:33:08 -06:00
Brandon Fish
4651b43078
Merge branch 'master' into feature/fix-table-init-error 2019-08-10 15:19:02 -06:00
Brandon Fish
a621b86286 Update windows excludes 2019-08-10 15:04:24 -06:00
Brandon Fish
b484ebb848 cargo fmt 2019-08-10 14:01:50 -06:00
Brandon Fish
bb8b4960b8 Remove filter which prevents initializer offset check 2019-08-10 13:59:31 -06:00
Brandon Fish
1584beebe6 Invalid table size for elems should produce link error 2019-08-10 12:13:14 -06:00
Brandon Fish
6372e0947c Fix more bare dyn traits in runtime-c-api 2019-08-10 11:20:22 -06:00
Brandon Fish
8ec4c0e01d
Merge branch 'master' into feature/fix-namespace-table-issue 2019-08-09 14:12:25 -06:00
losfair
44f71759f6 Use Vec::with_capacity in various places. 2019-08-10 03:23:29 +08:00
losfair
9cade2b441 singlepass: Skip patchpoint. 2019-08-10 03:10:32 +08:00
losfair
d61a8bb6d2 Prevent continueing execution on unreliable stack. (LLVM register save area information is missing) 2019-08-10 03:10:12 +08:00
losfair
2e89f02191 Cargo fmt 2019-08-10 02:44:44 +08:00
losfair
b8c18215aa Refactor tier switching code 2019-08-10 02:32:14 +08:00
Syrus Akbary
f909f7ed1f
Merge pull request #650 from wasmerio/feature/wasi-path-rename
implement wasi::path_rename
2019-08-09 01:09:23 -07:00
Mark McCaskey
61f1df06d1 implement wasi::path_rename 2019-08-09 15:40:04 +09:00
Brandon Fish
7f0c48b354 Add windows clif excludes 2019-08-08 21:12:36 -06:00
Brandon Fish
a7ff120dd9 Fix some spectest imports and namespace_table issue 2019-08-08 21:03:00 -06:00
Syrus
d39d4b5f6d Remove structopt dependency from LLVM 2019-08-08 19:42:41 -07:00
bors[bot]
27d8506a46 Merge #643
643: Improve error reporting of IO errors, implement path_symlink r=MarkMcCaskey a=MarkMcCaskey



Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-08-09 00:34:22 +00:00
Nick Lewycky
b2c4501357 Add support for backend flags. Backend flags are opaque to src/bin/wasmer.rs.
Use them to implement three features in the LLVM backend, getting a valid ELF object file, the post-optimization LLVM IR and the pre-optimization LLVM IR.

Presently they are also global to the backend which is not ideal.
2019-08-08 17:05:31 -07:00
bors[bot]
77fe15db31 Merge #646
646: Fix bare_trait_objects warnings r=bjfish a=bjfish

These appear to be coming to stable soon:
https://github.com/rust-lang/rust/blob/master/RELEASES.md#compatibility-notes

Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-08-08 23:25:07 +00:00
Brandon Fish
5a41686192 Fix bare_trait_objects warnings 2019-08-08 16:46:52 -06:00
Nick Lewycky
02f1d73f88 Reformat. 2019-08-08 13:55:44 -07:00
Nick Lewycky
c4d4a6888c Fix a bug where we would fail to find llvm-config-M or llvm-config-M-N when llvm-sys would.
Update to match features in newer llvm-sys.
2019-08-08 13:46:40 -07:00
losfair
c1619026d5 Swap code lazily when tiering up from singlepass to LLVM.
Does not handle long-running functions, but should work at least.
2019-08-09 04:26:17 +08:00