Commit Graph

440 Commits

Author SHA1 Message Date
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
Nick Lewycky
afbfcefb03 Implement new SIMD zero-extend loads. 2020-10-29 17:14:04 -07:00
Syrus
68a0ae9615 Upgrade wasmparser to 0.63 2020-10-29 16:43:02 -07:00
Syrus
ba60630407 Upgrade wasmparser to 0.62 2020-10-29 16:21:43 -07:00
Syrus
b7792f03c2 Upgrade wasmparser to 0.60 2020-10-29 15:50:04 -07:00
jubianchi
2452b9a604 chore(doc): Add the Wasmer logo to the generated API documentation 2020-10-26 22:37:30 +01:00
Nick Lewycky
e89b1c089b Split the ABIs into separate implementations and trait files. 2020-10-23 14:09:14 -07:00
Nick Lewycky
282a16d9b0 Remove commented-out debugging code. 2020-10-22 17:33:17 -07:00
Nick Lewycky
9e2bf2615f Implement aarch64 procedure call ABI (AAPCS64).
Fix the autodetection of which Abi to pick.
2020-10-22 16:32:41 -07:00
Nick Lewycky
e4981c4f66 Add a get_abi(TargetMachine) method instead of creating X86_64SystemV directly.
A new Arm64Linux ABI is added but it's an unedited copy of the X86_64SystemV one so far.

A bunch of cleanups from clippy. Use matches! more, don't pass &Box<dyn Abi>.
2020-10-20 14:46:45 -07:00
Nick Lewycky
fa8e423404 Make abi a trait. 2020-10-20 12:53:09 -07:00
Nick Lewycky
d562c2dd9c Sometimes the store may be partially-successful before trapping, for instance if it is partways in valid memory and partways into the guard page.
Use a load instruction before the store to ensure that all the memory is addressable. The loaded value is discarded.

NB. We don't apply this to atomics. It's not clear whether atomic stores can be half-committed.

Fixes align.wast and memory_trap.wast on aarch64.
2020-10-16 16:29:45 -07:00
Nick Lewycky
a01d3d3d70 cargo fmt 2020-10-08 21:04:51 -07:00
Mark McCaskey
61c88be863 Prepare for 1.0.0-alpha4 release 2020-10-08 16:47:14 -07:00
Syrus
ccb3fbd5c1 Fixed versions of Wasmer in READMEE 2020-09-15 14:32:16 +03:00
Mark McCaskey
ead9532004 Prepare for 1.0.0-alpha3 release 2020-09-14 13:12:56 -07:00
Syrus
2cd12213fb Standardize Cargo files of all crates 2020-09-13 22:11:16 +03:00
Mark McCaskey
1ee2ba30a2 Prepare for 1.0.0-alpha02.0 release 2020-09-11 14:40:25 -07:00
nlewycky
1a10d2258e Merge branch 'master' into feature/dynamic 2020-08-21 10:43:09 -07:00
Nick Lewycky
5d40787856 Add a compiler-llvm CompilerFunctionKind for the whole module which can occur with the experimental API for engine-native.
Since it's no longer per-function, rename CompilerFunctionKind to CompilerKind.
2020-08-20 23:28:07 -07:00
Nick Lewycky
8a27a2938b Turn VMMemoryDefinition::current_length into a u32.
The current wasm spec limits the size to 32-bits, and attempting to use a larger size causes problems with compiler-cranelift.
2020-08-19 18:04:12 -07:00
Nick Lewycky
5a6ecd4d00 Fix dynamic memory styles in llvm.
Dynamic memory has the same struct as static memory, in particular the length field is not a pointer to a length field.

Also, send the correct trap code.
2020-08-19 17:43:05 -07:00
Nick Lewycky
91414df670 NFC. Import the inkwell::DLLStorageClass name. 2020-08-18 14:20:45 -07:00
Nick Lewycky
9c5e682585 Export the wasmer metadata when building a DLL. 2020-08-18 14:18:07 -07:00
Nick Lewycky
36850d6230 Set the DLL storage class to export. 2020-08-17 23:23:39 -07:00
Nick Lewycky
9e89ee9b7b Call a callback to emit the merged object file. 2020-08-17 23:21:36 -07:00
Mark McCaskey
d81c9dd686 Fix up Cargo manifests for publishing Wasmer 2020-08-17 10:41:14 -07:00
Nick Lewycky
5861bc5c51 Update to inkwell llvm 10 release crate. 2020-08-14 16:24:24 -07:00
Mark McCaskey
e06ca4ffd2 Prepare for 1.0.0-alpha01.0 release
This is the first alpha release of `1.0.0`: expect breaking changes.

The version suffix `alpha01.0` was chosen so that we can ship updates
that automatically update with the latter number and can prevent
auto-updates by incrementing the former number (which is not actually
a number as far as semver is concerned).

Also because crates.io sorts versions lexicographically, it will
display the wrong readme if we get to alpha10, so we pad with an extra
0 just in case we need more than 9 releases of alpha.
2020-08-14 16:08:44 -07:00
Mark McCaskey
6e974b92cd Run cargo fmt 2020-08-13 18:12:43 -07:00
Mark McCaskey
5049c543dc Rename wasm-common crate to wasmer-types 2020-08-13 17:59:26 -07:00