708: runtime-c-api: not installing cranelift if not necessary r=Hywan a=YaronWittenstein
having `default-features = false` lets us install the `runtime-c-api` with `default-backend-singlepass` without installing also `cranelift`
Co-authored-by: Yaron Wittenstein <yaron.wittenstein@gmail.com>
566: doc(runtime-c-api) Document and reorganize `exports.rs`. r=Hywan a=Hywan
This patch moves all structs at the beginning of the file, and
documents them.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
663: Bump nix from 0.14.1 to 0.15.0 r=Hywan a=dependabot-preview[bot]
Bumps [nix](https://github.com/nix-rust/nix) from 0.14.1 to 0.15.0.
<details>
<summary>Changelog</summary>
*Sourced from [nix's changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md).*
> ## [0.15.0] - 10 August 2019
> ### Added
> - Added `MSG_WAITALL` to `MsgFlags` in `sys::socket`.
> ([#1079](https://github-redirect.dependabot.com/nix-rust/nix/pull/1079))
> - Implemented `Clone`, `Copy`, `Debug`, `Eq`, `Hash`, and `PartialEq` for most
> types that support them. ([#1035](https://github-redirect.dependabot.com/nix-rust/nix/pull/1035))
> - Added `copy_file_range` wrapper
> ([#1069](https://github-redirect.dependabot.com/nix-rust/nix/pull/1069))
> - Add `mkdirat`.
> ([#1084](https://github-redirect.dependabot.com/nix-rust/nix/pull/1084))
> - Add `posix_fadvise`.
> ([#1089](https://github-redirect.dependabot.com/nix-rust/nix/pull/1089))
> - Added `AF_VSOCK` to `AddressFamily`.
> ([#1091](https://github-redirect.dependabot.com/nix-rust/nix/pull/1091))
> - Add `unlinkat`
> ([#1058](https://github-redirect.dependabot.com/nix-rust/nix/pull/1058))
> - Add `renameat`.
> ([#1097](https://github-redirect.dependabot.com/nix-rust/nix/pull/1097))
>
> ### Changed
> - Support for `ifaddrs` now present when building for Android.
> ([#1077](https://github-redirect.dependabot.com/nix-rust/nix/pull/1077))
> - Minimum supported Rust version is now 1.31.0
> ([#1035](https://github-redirect.dependabot.com/nix-rust/nix/pull/1035))
> ([#1095](https://github-redirect.dependabot.com/nix-rust/nix/pull/1095))
> - Now functions `statfs()` and `fstatfs()` return result with `Statfs` wrapper
> ([#928](https://github-redirect.dependabot.com/nix-rust/nix/pull/928))
>
> ### Fixed
> - Enabled `sched_yield` for all nix hosts.
> ([#1090](https://github-redirect.dependabot.com/nix-rust/nix/pull/1090))
>
> ### Removed
</details>
<details>
<summary>Commits</summary>
- See full diff in [compare view](https://github.com/nix-rust/nix/commits)
</details>
<br />
[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=nix&package-manager=cargo&previous-version=0.14.1&new-version=0.15.0)](https://dependabot.com/compatibility-score.html?dependency-name=nix&package-manager=cargo&previous-version=0.14.1&new-version=0.15.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>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
702: Add support for shared memory in Wasm. r=nlewycky a=nlewycky
Add support for memory regions with the shared flag. These are part of the threads proposal.
- Add new `--enable-threads` flags and pass it through to wasmparser.rs and wabt (for .wat files).
- Enable `--enable-threads` when parsing spectests. Enables the shared memory region in `simd.wast`.
- Adds `atomic.wast`, the spec test for the threads proposal. With the LLVM backend, all tests pass.
- Removes the `runtime-core/src/memory/static_` directory since there's no need for it to include two implementations. We use the same implementation of static memory for shared and unshared static memory.
- Implements the atomic instructions in the LLVM backend. However, `atomic.load` and `atomic.store` are provided **with no atomicity.** The rmw and cmpxchg instructions are sequentially consistent.
- `atomic.notify` and `atomic.wait` are unimplemented.
Co-authored-by: Nick Lewycky <nick@wasmer.io>
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>