Commit Graph

3690 Commits

Author SHA1 Message Date
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
bors[bot]
0ea5b1b2bd
Merge #808
808: Bump rand from 0.7.0 to 0.7.2 r=MarkMcCaskey a=dependabot-preview[bot]

Bumps [rand](https://github.com/rust-random/rand) from 0.7.0 to 0.7.2.
<details>
<summary>Changelog</summary>

*Sourced from [rand's changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md).*

> ## [0.7.2] - 2019-09-16
> ### Fixes
> - Fix dependency on `rand_core` 0.5.1 ([#890](https://github-redirect.dependabot.com/rust-random/rand/issues/890))
> 
> ### Additions
> - Unit tests for value stability of distributions added ([#888](https://github-redirect.dependabot.com/rust-random/rand/issues/888))
> 
> ## [0.7.1] - 2019-09-13
> ### Fixes
> - Fix `no_std` behaviour, appropriately enable c2-chacha's `std` feature ([#844](https://github-redirect.dependabot.com/rust-random/rand/issues/844))
> - `alloc` feature in `no_std` is available since Rust 1.36 ([#856](https://github-redirect.dependabot.com/rust-random/rand/issues/856))
> - Fix or squelch issues from Clippy lints ([#840](https://github-redirect.dependabot.com/rust-random/rand/issues/840))
> 
> ### Additions
> - Add a `no_std` target to CI to continously evaluate `no_std` status ([#844](https://github-redirect.dependabot.com/rust-random/rand/issues/844))
> - `WeightedIndex`: allow adjusting a sub-set of weights ([#866](https://github-redirect.dependabot.com/rust-random/rand/issues/866))
</details>
<details>
<summary>Commits</summary>

- [`249ebfc`](249ebfc435) Merge pull request [#888](https://github-redirect.dependabot.com/rust-random/rand/issues/888) from dhardy/master
- [`5ac4cbd`](5ac4cbd38c) Prepare rand 0.7.2
- [`f39915a`](f39915a496) rand_distr: work around tan func issue
- [`802ba8f`](802ba8f7f5) rand_distr: add missing value_stability tests
- [`a43d7f1`](a43d7f1166) Fix tests
- [`2ef2e66`](2ef2e669b6) Add value_stability tests for uniform
- [`096a5dd`](096a5dd5d6) UniformSampler: add doc on usage of sample_single
- [`f78781a`](f78781aa84) Uniform: replace inner field with struct tuple
- [`856fdfb`](856fdfb433) Distribution: add doc of portability
- [`72af6f8`](72af6f84f2) Add value_stability tests for bernoulli, int, float and other distrs
- Additional commits viewable in [compare view](https://github.com/rust-random/rand/compare/0.7.0...0.7.2)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=rand&package-manager=cargo&previous-version=0.7.0&new-version=0.7.2)](https://dependabot.com/compatibility-score.html?dependency-name=rand&package-manager=cargo&previous-version=0.7.0&new-version=0.7.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)

---

<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)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- 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-18 16:59:37 +00: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
dependabot-preview[bot]
71b865aa11
Bump rand from 0.7.0 to 0.7.2
Bumps [rand](https://github.com/rust-random/rand) from 0.7.0 to 0.7.2.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.7.0...0.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-17 22:16:38 +00:00
Mark McCaskey
83c3909b00 Implement it for memory and make Instance Send 2019-09-17 14:58:26 -07:00
bors[bot]
174cc9f0ec
Merge #802
802: This is no longer referring to the correct line. r=nlewycky a=nlewycky

It's supposed to be 352 which is already there. Three lines were deleted in #785.


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-09-17 21:48:18 +00:00
Mark McCaskey
9e9343878d Implement Send for everything except Memory 2019-09-17 11:45:13 -07: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
Syrus Akbary
90dfb0f7a7
Merge pull request #801 from wasmerio/feature/osr-exclude
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:16:18 -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
Syrus
298a2f8534 Added system info to tests 2019-09-16 12:14:09 -07:00
bors[bot]
de7c5dc578
Merge #790
790: Switch llvm-backend from PIC+Default (small) to Static+Large. r=nlewycky a=nlewycky

# Description

Should fix flaky test failure:
```
spectest-a277b7d051ac0dde: /home/nick/llvm-8.0.1.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:304: void llvm::RuntimeDyldELF::resolveX86_64Relocation(const llvm::SectionEntry&, uint64_t, uint64_t, uint32_t, int64_t, uint64_t): Assertion `isInt<32>(RealOffset)' failed.
```
(with assertions-enabled LLVM). The relocation in question is a `R_X86_64_PC32` with small offset against `.rodata`.

The switch from Default (small, JITDefault is a different default that we weren't using which is medium) to Large should fix the bug. Once we're using large code model, I think we can switch from PIC to static as either an optimization or a no-op.

# Review

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


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-09-16 17:55:13 +00:00
Nick Lewycky
53db1d44fa Add changelog entry. 2019-09-16 10:49:39 -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
bors[bot]
56c571465e
Merge #798
798: Replace panics in codegen_x64 by CodegenError r=nlewycky a=pventuzelo

Replace panics! inside `lib/singlepass-backend/src/codegen_x64.rs` by CodegenError

Co-authored-by: Patrick Ventuzelo <ventuzelo.patrick@gmail.com>
2019-09-16 17:10:03 +00: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
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
bors[bot]
9068777aaf
Merge #782
782: Turn this unreachable into a panic with an error message. r=nlewycky a=nlewycky

# Description
All errors with messages in this file are `panic!`s. Give this `unreachable!` a message (so I can debug when I hit it, only possible due to local changes) and turn it into a `panic!`.

# Review

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

Too minor for changelog.


Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: nlewycky <nick@wasmer.io>
2019-09-14 01:10:46 +00:00
nlewycky
e0baf68e25
Merge branch 'master' into nlewycky/panic 2019-09-13 17:07:36 -07:00
bors[bot]
991cbfb6b5
Merge #788
788: Use union merge on the changelog file. r=MarkMcCaskey a=nlewycky

# Description
This keeps both sides of a conflict. It's essentially the same as removing the
conflict markers.

# Review

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


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-09-13 22:15:59 +00:00
Nick Lewycky
abd71aa129 Add changelog entry. 2019-09-13 14:47:02 -07:00
Nick Lewycky
d6e3138a3d Use union merge on the changelog file.
This keeps both sides of a conflict. It's essentially the same as removing the
conflict markers.
2019-09-13 14:46:37 -07:00
Nick Lewycky
0387c3ff93 Turn this unreachable into a panic with an error message. 2019-09-13 14:44:54 -07:00
bors[bot]
ec94d366b0
Merge #785
785: Copy the spectest repository license from the official WebAssembly testsuite. These tests are under that license. r=nlewycky a=nlewycky

Remove our own license statements on a few files since they're now redundant. They were all referencing this license.


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-09-13 20:38:57 +00:00
Nick Lewycky
fd1b154014 Add changelog entry. 2019-09-13 13:38:11 -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
bors[bot]
8e17399979
Merge #786
786: Implement atomic load and store instructions with actual atomics in the LLVM backend. r=nlewycky a=nlewycky

Includes a run of `cargo update` to pick up the newer inkwell required.

# Review

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


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-09-13 19:29:12 +00:00
Nick Lewycky
2eac9accd2 Add changelog entry. 2019-09-13 12:06:14 -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
bors[bot]
fa760f44dd
Merge #784
784: Wasmer run can run text wat files, not webassembly spectest files. r=nlewycky a=nlewycky

# Description
Correct an incorrect description of the `wasmer run` subcommand. It can't run webassembly spectest files (`.wast`), it can run webassembly text files (`.wat`).

# Review

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

n/a


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-09-13 18:29:41 +00:00
Nick Lewycky
c02f0ccba2 Add changelog. 2019-09-13 11:29:00 -07:00
Nick Lewycky
ecf39f814a Wasmer run can run text wat files, not webassembly spectest files. 2019-09-12 20:56:11 -07:00
bors[bot]
793fd60f6a
Merge #766
766: Bump indexmap from 1.1.0 to 1.2.0 r=Hywan a=dependabot-preview[bot]

Bumps [indexmap](https://github.com/bluss/indexmap) from 1.1.0 to 1.2.0.
<details>
<summary>Commits</summary>

- [`45dad09`](45dad09a97) 1.2.0
- [`0cfdf7d`](0cfdf7d284) MAINT: Fix cargo-release setting for tag name
- [`380e55c`](380e55c6a3) Merge pull request [#102](https://github-redirect.dependabot.com/bluss/indexmap/issues/102) from cuviper/lints
- [`042e1b4`](042e1b4a93) Avoid scoped lints for Rust 1.30
- [`f799d95`](f799d9558e) Allow clippy::eq_op in tests
- [`75850ce`](75850ce359) Fix clippy::writeln_empty_string
- [`6b19c0e`](6b19c0e95d) Fix clippy::transmute_ptr_to_ptr
- [`0206d91`](0206d91a33) Fix clippy::single_match
- [`abfffac`](abfffac4a7) Fix clippy::redundant_static_lifetimes
- [`d5acca7`](d5acca76be) Fix clippy::redundant_pattern_matching
- Additional commits viewable in [compare view](https://github.com/bluss/indexmap/compare/1.1.0...1.2.0)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=1.1.0&new-version=1.2.0)](https://dependabot.com/compatibility-score.html?dependency-name=indexmap&package-manager=cargo&previous-version=1.1.0&new-version=1.2.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)

---

<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 20:56:23 +00: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
bors[bot]
43509e5547
Merge #781
781: Prepare for 0.7.0 release r=MarkMcCaskey a=MarkMcCaskey

<!-- 
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.
-->

# Review

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


Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-09-12 20:05:47 +00:00
Mark McCaskey
35bb3879a4 Add required-by-cargo version pinning in manifest for middleware-common 2019-09-12 12:51:39 -07:00