Nick Lewycky
cc27bb2216
Fix some verifier errors in the 64-bit computations.
2021-03-01 15:50:47 -08:00
Nick Lewycky
c422fdeba2
Correct implementation of shift and rotate.
...
The existing implementations worked on x86-64 when instructions were emitted, but relied on UB per the LLVM IR. Add a test which checks the behaviour when the inputs are constants, so that the LLVM IR constant folder can see and exploit the UB.
2021-03-01 15:00:18 -08:00
Nick Lewycky
40f40bb7d4
RefNull may return any reference type.
2021-03-01 13:40:04 -08:00
Nick Lewycky
3c6168d0bb
Split funcref and externref into separate LLVM types, add anyref_ty.
2021-03-01 13:22:56 -08:00
Nick Lewycky
7d9dd4d349
Correct the type of vmctx on these functions.
2021-03-01 12:17:38 -08:00
Nick Lewycky
b14afa1342
Implement all reference types instructions in compiler-llvm.
...
Remove spectest ignores for reference types tests on llvm.
Extend llvm ABIs to pass externref and funcref.
Expose all libcalls through the Libcalls enum.
Add support for all libcalls to llvm object_file.rs, even libcalls that we aren't using.
Add missing no_mangle to libcalls.
Change 'memory' to 'memory32' in libcalls in preparation for the memory64 proposal.
Remove 'local' from 'wasmer_local_memory_copy' in libcalls to fit naming convention.
Add mangling of externref and funcref for llvm-debug-dir.
Mark 'wasmer_func_ref' readonly.
2021-03-01 11:53:12 -08:00
Nick Lewycky
1e777f9a85
Move the test that a table index is in bounds to a point before we deref it.
...
This fixes the type of trap produced.
2021-02-24 11:19:19 -08:00
dependabot[bot]
3bc00dfbaf
chore(deps): bump goblin from 0.2.3 to 0.3.4
...
Bumps [goblin](https://github.com/m4b/goblin ) from 0.2.3 to 0.3.4.
- [Release notes](https://github.com/m4b/goblin/releases )
- [Changelog](https://github.com/m4b/goblin/blob/master/CHANGELOG.md )
- [Commits](https://github.com/m4b/goblin/commits )
Signed-off-by: dependabot[bot] <support@github.com >
2021-02-12 13:53:24 +00:00
Mark McCaskey
6e3f835db8
Merge branch 'master' into feature/reference-types
2021-02-10 06:36:36 -08:00
Mark McCaskey
0a17424368
Update wasmparser and core spectests
2021-02-09 11:57:54 -08:00
Mark McCaskey
6cfcc92d52
Implement further for compiler-cranelift; add ExternRef
2021-02-08 12:49:15 -08:00
Nick Lewycky
9e1cec01be
Prepare for 1.0.2 release
2021-02-04 19:44:49 -08:00
Mark McCaskey
ecf891e0ac
Add extra layer of indirection for funcref, update tables
...
This is still a WIP, cranelift is passing spectests but singlepass has 3
failures and LLVM is not implemented correctly
2021-02-03 07:47:25 -08:00
Nick Lewycky
6192143102
NFC. This utility function moved to inkwell.
2021-02-02 12:03:10 -08:00
Nick Lewycky
d247dc088d
Bump to llvm 11!
2021-02-01 10:04:34 -08:00
Nick Lewycky
e436788ee3
Update to latest inkwell.
2021-02-01 10:03:32 -08:00
Nick Lewycky
657d3a52dd
Add dereferenceable attribute to the vmctx pointer.
2021-01-27 11:08:13 -08:00
Nick Lewycky
a79a8ed79c
Refactor duplicate code for vmctx attributes.
2021-01-26 11:17:13 -08:00
Nick Lewycky
799f1fde66
Add align, nofree and nonnull to vmctx pointer.
...
Adding dereferenceable is still TODO.
2021-01-26 10:50:50 -08:00
Nick Lewycky
71b9feff08
Use ParallelBridge to remove copies of data out of PrimaryMap.
2021-01-22 13:36:45 -08:00
Nick Lewycky
ec6c990663
Do all three mapping operations in a single thread pool.
2021-01-22 13:30:21 -08:00
Nick Lewycky
184edbe7e4
Add a TODO referring to a feature request on Rayon.
2021-01-21 22:14:04 -08:00
Nick Lewycky
fffdde0217
Apply rustfmt changes that the CI brought up.
2021-01-21 17:31:40 -08:00
Nick Lewycky
8ee2cf55ad
Improve parallelism of llvm builds with native or object file engine.
2021-01-21 17:27:34 -08:00
Mark McCaskey
924ffd8797
Prepare for 1.0.1 release
2021-01-12 08:08:19 -08:00
Mark McCaskey
3654cb17a5
Fix RUSTSEC-2021-0003
2021-01-11 12:51:07 -08:00
Mark McCaskey
cac4583b19
Add links on all crates.io badges
2021-01-07 06:48:32 -08:00
Mark McCaskey
0448f729fd
Fix up readme files, remove version numbers
2021-01-07 06:36:27 -08:00
Mark McCaskey
bc73789cc0
Prepare for 1.0.0 release
2021-01-05 06:21:03 -08:00
Nick Lewycky
65d8481acf
Remove interprocedural optimization passes.
...
We never have more than one function defined in a module at a time.
2020-12-23 16:25:55 -08:00
Mark McCaskey
1ac42e2e3b
Update usage of beta to rc
2020-12-23 11:33:53 -08:00
Mark McCaskey
2d1c03bea0
Prepare for 1.0.0-rc1 release
2020-12-23 11:17:07 -08:00
Simon Warta
271c767785
Replace all usages of to_wasm_error
2020-12-22 09:17:09 +01:00
Simon Warta
9d6fc4a4ba
Expose wasmer::LLVMOptLevel
2020-12-17 10:13:07 +01:00
Mark McCaskey
59df6917d8
Prepare for 1.0.0-beta2 release
2020-12-16 07:41:59 -08:00
Syrus Akbary
1ee0146954
Fix all compilation issues simplifying the code
2020-12-04 15:58:38 -08:00
Syrus
13e6f29c29
Set compiler config to be owned (following wasm-c-api)
2020-12-04 02:39:19 -08:00
Mark McCaskey
e928a832a8
Update mentions of alpha to beta
2020-12-02 11:01:54 -08:00
Mark McCaskey
947e7d394f
Prepare for 1.0.0-beta1 release
2020-12-01 17:15:46 -08:00
nlewycky
f110c4d308
Merge branch 'master' into feature/middleware
2020-11-30 15:12:02 -08:00
jubianchi
306a3c5f82
chore: Update semver
...
Closes #1793
2020-11-27 21:41:36 +01:00
Ivan Enderlin
6eaeeeb60c
feat: Use the same version of smallvec everywhere.
2020-11-26 16:56:59 +01:00
Nick Lewycky
8ca3693a56
Add support for middleware to experimental_native_compile_module and make it work on compiler-llvm.
2020-11-23 13:56:17 -08:00
losfair
9d8f315d4c
Update module info in-place.
2020-11-23 13:42:51 -08:00
losfair
e7dd725c6d
Add module info transformation method to ModuleMiddleware.
2020-11-20 14:34:46 -08:00
Nick Lewycky
49b0a4a16a
Prepare for 1.0.0-alpha5 release.
2020-11-06 11:50:07 -08:00
Syrus
2387ec07b6
Upgrade dependencies
2020-10-29 22:59:48 -07:00
bors[bot]
1a4cd326e8
Merge #1781
...
1781: Cranelift upgrade r=syrusakbary a=syrusakbary
<!--
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
Upgrade Cranelift to `0.67`. This upgrade also enables all SIMD tests (with one small exception operator that is still not fixed in Cranelift).
<!--
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->
Co-authored-by: Syrus <me@syrusakbary.com >
Co-authored-by: Syrus Akbary <me@syrusakbary.com >
2020-10-30 04:47:24 +00:00
Syrus
b123f92f56
Simplified local_decl
2020-10-29 20:19:37 -07:00
Syrus
9bd2c47730
Upgraded Cranelift to 0.67
2020-10-29 20:19:16 -07:00