Commit Graph

2331 Commits

Author SHA1 Message Date
Nick Lewycky
e7d1742c63 Update module to be held by Rc<RefCell<>> so that we can pass it to LLVMFunctionCodeGenerator.
Use that to generate distinct TBAA labels for distinct local variables.
2019-10-30 13:11:29 -07:00
Ivan Enderlin
6a1d490a30 doc(runtimecore) Explain ExternalFunctionKind with more details. 2019-10-30 19:34:04 +01:00
Ivan Enderlin
7eef49be12 test(runtime-core) Test host functions without a vm::Ctx argument. 2019-10-30 19:34:04 +01:00
Ivan Enderlin
95e1b85c56 feat(runtime-core) Allow host functions without an explicit vm::Ctx argument.
This patch allows host functions to get a signature without an
explicit `vm::Ctx` argument.

It is for Rust only. The C API receives a function pointer and has no
clue whether a `vm::Ctx` argument is present or not, so it assumes it
is always declared.

From the backend point of view, the pointer to `vm::Ctx` is always
inserted in the stack, but it is not used by the function when the
argument is absent.
2019-10-30 19:34:04 +01:00
Ivan Enderlin
bd9d4d9cc8 test(runtime-core) Add tests for the Func structure. 2019-10-30 19:34:04 +01:00
Ivan Enderlin
77e01f01bd chore(runtime-core) Use vm::Ctx to access it.
Just to be consistent with the rest of the code.
2019-10-30 19:34:04 +01:00
Nick Lewycky
f77d9bfe32 Initial implementation of TBAA for the LLVM backend. 2019-10-30 10:29:51 -07:00
bors[bot]
46cb83738e
Merge #916
916: feat(runtime-core-tests) Introduce the new `wasmer-runtime-core-tests` crate r=Hywan a=Hywan

Extracted from https://github.com/wasmerio/wasmer/pull/882.

This non-publishable new crate contains a test suite for the
`wasmer-runtime-core` crate. So far, the test suite is rather small,
but it aims to be extended in a close future.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-10-30 17:00:18 +00:00
Ivan Enderlin
4e83e1b8e0 chore(runtime-core-tests) Update crate version. 2019-10-30 17:59:07 +01:00
Ivan Enderlin
bdc1ab3412 feat(runtime-core-tests) Introduce the new wasmer-runtime-core-tests crate.
This non-publishable new crate contains a test suite for the
`wasmer-runtime-core` crate. So far, the test suite is rather small,
but it aims to be extended in a close future.
2019-10-30 13:28:01 +01:00
Ivan Enderlin
edb6cbefca fix(runtime-core) Share the definition of Trampoline across all the backends.
This patch updates all the backends to use the definition of
`Trampoline` as defined in the `wasmer_runtime_core::typed_func`
module. That way, there is no copy of that type, and as such, it is
easier to avoid regression (a simple `cargo check` does the job).

This patch also formats the `use` statements in the updated files.
2019-10-30 13:10:34 +01:00
bors[bot]
cf5b3cc09e
Merge #914
914: Fix bug in getting a Memory from export in C API r=Hywan a=MarkMcCaskey

I believe this fixes the non-deterministic crashing on OSX in `go-ext-wasm`

Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-10-30 11:34:20 +00:00
Nick Lewycky
7fd20e3355 NFC: Fold variable into initializer. 2019-10-29 22:23:46 -07:00
Mark McCaskey
1e4fa78e11 Fix bug in getting a Memory from export in C API 2019-10-29 15:52:42 -07:00
bors[bot]
2dbe80ad34
Merge #856
856: Add WASI support to C API r=MarkMcCaskey a=MarkMcCaskey

This is an additive change (with one unrelated clean up of `*mut ptr -> *const ptr`).  It exposes the functions to get a WASI import object.  It also implements a function on import object to get an `import` with namespace and name.

These changes should be okay to ship now, we can follow up to finish adding methods to ImportObject on the C API side and start migrating away from  `*imports`.

# 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: Ivan Enderlin <ivan.enderlin@hoa-project.net>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
Co-authored-by: nlewycky <nick@wasmer.io>
2019-10-29 22:39:51 +00:00
Mark McCaskey
d87e81cf62
Merge pull request #912 from wasmerio/nlewycky-patch-1
Use printf portably.
2019-10-29 15:34:40 -07:00
nlewycky
44f026adfb
Move the linkage before the type.
Though both orders work, this is customary.
2019-10-29 15:30:59 -07:00
nlewycky
ae07620818
Use printf portably.
PRId64 is defined to the right printf format string to print a int64_t on the current system.
2019-10-29 15:28:59 -07:00
Mark McCaskey
bc9b92c323 Add null checks to new destructors in C API 2019-10-29 15:18:45 -07:00
Mark McCaskey
a104d08c04 Update ImportObject C API to use iterators 2019-10-29 14:55:14 -07:00
Nick Lewycky
9224db6d1e Don't emit bounds checks when the offset is less than the minimum memory size. 2019-10-28 15:57:16 -07:00
Artyom Pavlov
56475594e9
compilation error fix 2019-10-28 17:57:29 +00:00
newpavlov
8e6f4c448b reuse __WASI_EIO error code 2019-10-28 18:37:14 +03:00
newpavlov
b67f2c9f18 use getrandom instead of rand 2019-10-28 18:33:15 +03:00
Mark McCaskey
aa82df7bc5 Fix github merge
move entry in changelog due to release
2019-10-25 14:52:09 -07:00
Mark McCaskey
c2d3f29cb4
Merge branch 'master' into feature/wasi-in-c-api 2019-10-25 14:38:14 -07:00
Mark McCaskey
2a532b8ce5 Add tests for C API import_object and WASI updates 2019-10-25 14:24:22 -07:00
Syrus Akbary
1a91f0e9ca
Merge branch 'master' into feature/llvm-nan-but-fast 2019-10-25 12:52:47 -07:00
bors[bot]
03a5b1fbf4
Merge #901
901: Set target triple and datalayout when creating the LLVM module. r=nlewycky a=nlewycky

We were giving LLVM a triple and datalayout only when producing native code from the LLVM IR. With this change, we tell LLVM as early as possible so that the entire optimization stack knows that it's safe to use target-specific constructs (including target intrinsics `@llvm.x86.sse2.ucomieq.sd`) as well as cost models (for autovectorization) and knowing the bitwidth of the registers so that we can know it's profitable to eliminate redundant extend/truncate casts.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-25 17:57:11 +00:00
bors[bot]
83c63d0b27
Merge #904
904: Use getelementptr instruction instead of int_to_ptr and ptr_to_int. r=nlewycky a=nlewycky

The main part of this change is that we no longer turn pointers into integers to do arithmetic on them, then turn them back into pointers. Doing so is a signal to LLVM that it should not attempt to analyze the provenance of the pointers, disabling some optimizations. Using getelementptr allows us to perform arithmetic on pointers while keeping them in pointer types, which LLVM can then analyze.

Most of the textual change is a refactoring to reorder the operations. Previously the bounds checking and determining of the base and bounds were combined because you could put both into the same match, since both actions are performed differently depending on whether the memory is static or dynamic. In this case, we simply check the type twice and do two different things, with comments labelling the steps.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-25 17:22:25 +00:00
Maxwell Anderson
a52246bb9d
fix README grammar 2019-10-24 21:54:30 -04:00
Nick Lewycky
9c71561927 Rewrite resolve_memory_ptr to use GEPs as much as possible.
ptr_to_int and int_to_ptr are not treated the same as type-safe pointer operations. LLVM intentionally performs fewer optimizations to code using the former as compared with the latter. We don't need that in our code, standard pointer optimizations are safe for us.
2019-10-24 18:15:32 -07:00
Mark McCaskey
80cfeb590e Clean up comments
add headers too
2019-10-24 11:51:35 -07:00
Nick Lewycky
894c5084f3 Insert allocas as a contiguous block at the top of the entry block.
This minimizes the chance we accidentally get categorized as having a dynamic alloca.
2019-10-23 19:21:12 -07:00
Nick Lewycky
bc64b4ce6c Set target triple and datalayout when creating the LLVM module. 2019-10-23 16:04:29 -07:00
Mark McCaskey
82f258b888 Prepare for 0.9.0 release 2019-10-23 13:40:35 -07:00
Mark McCaskey
0fd0ab6e58
Merge branch 'master' into ventuzelo/add-detail-unimplemented-calls-runtime 2019-10-23 12:30:14 -07:00
bors[bot]
d2f9047952
Merge #899
899: Remove dead intrinsics. r=Hywan a=nlewycky



Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-23 12:32:09 +00:00
Nick Lewycky
6410da9c24 Remove dead intrinsics. 2019-10-22 23:36:18 -07:00
Nick Lewycky
92f0b1b2e3 Thread whether state tracking is enabled into the LLVM backend. 2019-10-22 23:15:05 -07:00
Mark McCaskey
5353af79ad Improve fd_close wasi test: explicitly close file 2019-10-22 17:29:19 -07:00
Mark McCaskey
3a87edc0c1 Remove special casing of stdin, stdout, and stderr in WASI FS 2019-10-22 16:40:01 -07:00
bors[bot]
77527c23ce
Merge #877
877: Reimplement F32Min, F32Max, F64Min and F64Max. r=nlewycky a=nlewycky

# Description
Reimplement F32Min, F32Max, F64Min and F64Max.

Adds XMM8--15 registers. Adds VMOVA, VBLEND and VXORP, and the VCMPUNORD and VCMPORD comparisons.

Fixes 419 test failures.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-22 17:33:44 +00:00
Nick Lewycky
88dc613385 Save and restore the additional XMM registers in OSR too. 2019-10-21 19:44:16 -07:00
Syrus Akbary
fe158d0ce9
Merge pull request #886 from Hywan/fix-win-exception-handler-cargo-build-deps
fix(win-exception-handler) Remove `bindgen` and `regex` from cargo build deps
2019-10-21 17:02:11 -07:00
bors[bot]
cf1f4c781e
Merge #887
887: Get aggressive about running cargo check over all packages with all features. r=nlewycky a=nlewycky

Fixes the one issue uncovered. The capstone disassembling support in the LLVM backend was broken. Fixed by removing it. Instead, use the `--llvm-object-file` flag to get a finished object file to disassemble with any disassembler.


Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-10-21 22:43:09 +00:00
Nick Lewycky
3d3aef6df3 Merge branch 'master' of github.com:wasmerio/wasmer into feature/llvm-nan-but-fast 2019-10-21 12:33:35 -07:00
bors[bot]
209a8fa08c
Merge #889
889: fix(singlepass-backend) Use wasmparser from `runtime-core` r=Hywan a=Hywan

The `wasmer-runtime-core` crate re-exports the `wasmparser`
crate. This patch updates the `singlepass-backend` crate to use
`wasmparser` through the `wasmer-runtime-core` crate, which removes a
direct dependency for this crate.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-10-21 19:29:46 +00:00
Nick Lewycky
813f6414e0 Remove dead functions, don't leave them commented out. 2019-10-21 11:16:51 -07:00
Nick Lewycky
10dddf9904 Fix repeated typo in comment. 2019-10-18 16:34:45 -07:00
Nick Lewycky
961684a8e0 Adjust comment rulers. 2019-10-18 16:33:49 -07:00
Nick Lewycky
8424b61444 Fix typo in comment. 2019-10-18 16:33:49 -07:00
Ivan Enderlin
e559b54309 fix(singlepass-backend) Use wasmparser from runtime-core.
The `wasmer-runtime-core` crate re-exports the `wasmparser`
crate. This patch updates the `singlepass-backend` crate to use
`wasmparser` through the `wasmer-runtime-core` crate, which removes a
direct dependency for this crate.
2019-10-18 11:22:40 +02:00
Nick Lewycky
fbe2701a93 I meant 'skip' not 'fail'. 2019-10-17 19:23:36 -07:00
Nick Lewycky
675399909a Skip this test on windows + cranelift. It crashes the whole spectest runner.
This exclusion is no worse than before where this test was silently ignored.
2019-10-17 18:38:11 -07:00
Nick Lewycky
87d272e31e Initial implementation of AssertUninstantiable. Fixes linking.wast:387. 2019-10-17 18:37:49 -07:00
Nick Lewycky
b180a2e14c Get aggressive about running cargo check over all packages with all features.
Fixes the one issue uncovered. The capstone disassembling support in the LLVM backend was broken. Fixed by removing it. Instead, use the `--llvm-object-file` flag to get a finished object file to disassemble with any disassembler.
2019-10-17 15:37:35 -07:00
Ivan Enderlin
a257995f8d fix(win-exception-handler) Remove bindgen and regex from cargo build deps.
Those crates are not used.
2019-10-17 23:53:53 +02:00
bors[bot]
5ca6fc4aaa
Merge #885
885: fix(cranelift-backend) Remove broken (and useless?) debug code r=nlewycky a=Hywan

This debug code is broken (it doesn't compile). It can be assumed
nobody uses it, and can be considered as dead code. As such, this PR
removes it.

The `debug` feature is kept in `Cargo.toml` to activate `wasmer-runtime-core/debug`.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-10-17 21:25:46 +00:00
Ivan Enderlin
f101775380 fix(cranelift-backend) Remove broken (and useless?) debug code.
This debug code is broken (it doesn't compile). It can be assumed
nobody uses it, and can be considered as dead code. As such, this PR
removes it.
2019-10-17 22:55:30 +02:00
nlewycky
eaf16f61bf
Merge branch 'master' into feature/llvm-nan-but-fast 2019-10-17 12:24:56 -07:00
Nick Lewycky
c0acd5be11 Show the full hex value of a float that fails assert returns arithmetic nan or assert returns canonical nan. 2019-10-17 12:20:34 -07:00
Nick Lewycky
2c5c1b1c2c For floating point operations, allow inputs to be arbitrary, including SNaNs.
Instead of ensuring outputs are arithmetic NaNs on every function, we tag them as pending such a check, so that a sequence of computation can have a single canonicalization step at the end.

There's an extra wriggle for SIMD. The Wasm type system only indicates them as V128, so it's possible that we might do computations as F32x4Add, I8x16Add, F64x2Add in a row with no other computations in between. Thus, most SIMD functions apply pending canonicalizations to their inputs, even integer SIMD operations.
2019-10-17 11:55:01 -07:00
losfair
cd0b49e661 popcnt for aarch64. 2019-10-18 00:18:15 +08:00
losfair
a057296618 (S32, Imm64, GPR) 2019-10-17 23:45:58 +08:00
losfair
3f35a74b84 Two more mov variants. 2019-10-17 23:40:44 +08:00
losfair
4df7973639 Add mov variants. 2019-10-17 23:34:24 +08:00
losfair
00242cdd7f Fix LEA simulation on aarch64. 2019-10-17 23:00:50 +08:00
losfair
d325635629 Increment aarch64 virtual stack size to 1MB. 2019-10-17 23:00:32 +08:00
nlewycky
01e81ee809
Merge branch 'master' into feature/singlepass-mac-int 2019-10-16 17:12:36 -07:00
Nick Lewycky
f99d0360d2 Add registers XMM8--15 to from_dwarf_regnum and invoke_call_return_on_stack. 2019-10-16 10:34:37 -07:00
Ivan Enderlin
81be25d970 feat(runtime-core) Add documentation and make macros more readable.
After a long time, the macros are easy to read, but not at first
glance. I hope this PR will improve the situation: Same syntax used
everywhere, more spaces…
2019-10-16 16:07:50 +02:00
Nick Lewycky
5ee311adab These were both calling i32.clz. They should be fixed. 2019-10-15 14:10:26 -07:00
Nick Lewycky
4e5d559ab5 Remove dead functions LZCNT and TZCNT. 2019-10-15 13:44:18 -07:00
Nick Lewycky
99f7499a05 Reimplement I32Ctz, I64Clz and I64Ctz without LZCNT or TZCNT. 2019-10-15 13:42:05 -07:00
Nick Lewycky
3e854c4a3b Remove the exclusions for I32Clz. 2019-10-15 13:21:07 -07:00
Nick Lewycky
cafcfd3b50 cargo fmt 2019-10-15 13:07:44 -07:00
Nick Lewycky
cf3d2a830d Reimplement I32Clz without relying on LZCNT. 2019-10-15 12:50:59 -07:00
losfair
3de0c7763f Skip inline non-instruction data. 2019-10-15 22:12:08 +08:00
losfair
81d538ade2 Fix disp < 0 case. 2019-10-15 22:00:33 +08:00
losfair
ee88c459e5 Allow arbitrary size of disp. 2019-10-15 21:55:04 +08:00
Nick Lewycky
feeb9cd8f9 These tests failed on mac on bors. Put them back. 2019-10-14 15:02:51 -07:00
Nick Lewycky
26a4f073f0 Implement F64Min and F64Max. 2019-10-14 14:15:18 -07:00
Nick Lewycky
06ffb00deb Reimplement F32Max. 2019-10-14 14:07:30 -07:00
Nick Lewycky
b886a41a85 Use temp_gprs instead of hard-coding RAX/RDX. 2019-10-14 13:53:30 -07:00
Nick Lewycky
5cee23455d Release the registers we acquire. Reformat. 2019-10-14 13:51:03 -07:00
Nick Lewycky
336dab7fd9 Don't use utility functions in F32Min implementation. 2019-10-14 13:46:55 -07:00
Nick Lewycky
765e1d3b9e Add XMM8--XMM15. These were added in x64. 2019-10-14 13:46:55 -07:00
Nick Lewycky
4b89e01806 Remove commented-out code that I added so as to not lose its history in git. Apply trivial cleanups and reformat.
Remove expected test failure entries that are fixed so far.
2019-10-14 13:46:55 -07:00
Nick Lewycky
963148fdce Fix F32Min for all cases including NaNs. 2019-10-14 13:46:55 -07:00
Nick Lewycky
8b937afc1f Add comments to indicate the implemention we'd like to have, but can't right now. 2019-10-14 13:46:55 -07:00
Nick Lewycky
0f712c90ab Don't allocate another register when it's safe to reuse dst. 2019-10-14 13:46:55 -07:00
Nick Lewycky
b75e5c0c7c When we know RDX is unavailable, use RAX instead. Should be fine here. 2019-10-14 13:46:55 -07:00
Nick Lewycky
d6eba03a2f Remove loc1/loc2. That intended refactoring didn't work out. 2019-10-14 13:46:55 -07:00
Nick Lewycky
555d933057 Initial commit, reimplementation of F32Min. Fixes F32Min(negative_zero, zero) issue.
Also removes some previously-fixed i32 and i64 exclusions from the tests.
2019-10-14 13:46:55 -07:00
losfair
e5f7dc8274 Print the last frame in block trace output. 2019-10-14 20:23:43 +08:00
losfair
2e532fa66d Preserve fault.ip when calling middleware. 2019-10-14 20:23:27 +08:00
losfair
a525907c60 Emit state information for internal breakpoints. 2019-10-14 20:23:10 +08:00
Syrus Akbary
5611bec3eb
Update README.md 2019-10-13 21:52:10 -07:00
losfair
b0b0983eb8 Allow accessing execution state in middleware breakpoint handlers. 2019-10-13 20:51:39 +08:00
losfair
128b006bf7 Add a BlockTrace middleware. 2019-10-13 20:51:03 +08:00
losfair
5499a69ddc Run cargo fmt on everything. 2019-10-13 20:02:47 +08:00
losfair
c18bdd52cc Fix inline breakpoints on macOS. 2019-10-13 20:02:28 +08:00
Arnaud
e9f476c93b
doc: add link to SO in C api example 2019-10-13 10:30:02 +02:00
losfair
36f95fc660 Support emitting inline breakpoints in singlepass. 2019-10-11 21:05:42 +08:00
losfair
94f97109ff Include backend metadata in tiering module. 2019-10-11 21:05:17 +08:00
losfair
db59127f71 Inline breakpoint support in core. 2019-10-11 21:04:53 +08:00
losfair
2e1fb7abca Update call_trace middleware to include a counter. 2019-10-11 21:04:09 +08:00
Ivan Enderlin
c3ff8eb540 fix(runtime-c-api) Replace unsafe code by safe code. 2019-10-11 09:26:05 +02:00
Ivan Enderlin
01c209fe96 feat(runtime-c-api) Move the wasi module into its own file. 2019-10-11 09:19:46 +02:00
Mark McCaskey
bd8e864656 Add functions import object to get import fns and free them 2019-10-10 16:07:56 -07:00
Mark McCaskey
51f619a132 Change pointer that's not modified to be const in C API 2019-10-10 11:22:45 -07:00
losfair
8ee4b7f7b0 Replace brk with undefined instruction. 2019-10-10 22:08:52 +08:00
Mark McCaskey
913354adb3 Add function to get export from ns/name via ImportObject to C API 2019-10-09 17:29:27 -07:00
bors[bot]
2695093a03
Merge #863
863: Rewrite Min/Max to handle all cases correctly. Fixes 545 spectest failures. r=nlewycky a=nlewycky

# Description
The llvm backend was not quite following the Wasm spec for {F32,F64,F32x4xF64x2}{Min,Max}. We used the `@llvm.minnum` and `@llvm.maxnum` intrinsics which don't handle the corner cases the same. When we tried to use `@llvm.minimum` and `@llvm.maximum` which do, we get an internal error from the x86 backend. I was hoping that crash would go away with the upgrade to LLVM 9, but it does not.

Reimplement these operations using plain LLVM instructions.

# Review

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


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-09 22:24:07 +00:00
bors[bot]
88f126a00b
Merge #870
870: Fix unused value warning due to inkwell API change. NFC. r=nlewycky a=nlewycky

# Description
Fix unused value warning due to inkwell API change. No functionality change.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-08 23:56:10 +00:00
Nick Lewycky
c61cbf6c0b Add a comment. 2019-10-08 11:25:10 -07:00
losfair
bd06aa02ba x 2019-10-08 19:07:38 +08:00
losfair
c337999c5c x 2019-10-08 18:43:39 +08:00
losfair
b5bb3fa764 Move {push,pop}_code_version to caller side for non-mananged execution. 2019-10-08 18:41:22 +08:00
Nick Lewycky
afddbb2b2a Remove unused value warning due to inkwell API change. NFC. 2019-10-07 17:16:52 -07:00
bors[bot]
8f734c5b04
Merge #869
869: Remove exclusions for tests that appear to be passing right now. r=nlewycky a=nlewycky

# Description
Remove exclusions for tests that appear to be passing right now.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-08 00:13:56 +00:00
Nick Lewycky
9cdfb48d0c The i1 argument is actually named "is_zero_undef" which we want to be false.
Fixes the test failures that showed up on mac.
2019-10-07 17:11:59 -07:00
Nick Lewycky
158db4cee1 Remove exclusions for tests that appear to be passing right now. 2019-10-07 15:11:45 -07:00
Nick Lewycky
4d99963640 Replace "be the i32 type" with "be an i32" in error messages. 2019-10-07 12:11:10 -07:00
losfair
e0e7d58313 Make state mapping work on non-x86 architectures. 2019-10-07 23:00:37 +08:00
Patrick Ventuzelo
ed615c4878 fix build error docs 2019-10-07 12:56:55 +02:00
losfair
80d6c4cbc0 Implement get_fault_info for aarch64. 2019-10-06 18:27:35 +08:00
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