Commit Graph

272 Commits

Author SHA1 Message Date
15f9d2646f Release version 2.2.0-rc1 2022-02-15 19:10:24 +00:00
4e27e1164c Release version 2.2.0-rc1 2022-01-27 23:59:27 +00:00
ffb9cd33b9 Use trampolines for all libcalls in engine-universal and engine-dylib
In both of these engines, the compiled code may be loaded in memory far
from the Wasmer runtime which means that libcalls may not be reachable
through the normal relocation types. Instead a trampoline is needed to
allow reaching any address in the 64-bit address space.

In the case of engine-dylib, this is even worse since the symbols are
not exported by the executable without some special linker flags. The
solution here is to manually patch in the addresses at load time into
a data table of function pointers.
2022-01-20 11:47:20 +00:00
fb7a572415 Use exact version for Wasmer crate dependencies
We don't guarantee API compatibility between internal Wasmer crates when
making minor version bumps.
2022-01-19 21:35:09 +00:00
ebcea4a5c4 Release v2.1.1 2021-12-21 12:19:50 +01:00
c650ffea33 Version 2.1.0 2021-11-30 23:46:54 +00:00
8f2e49d528 Merge #2693
2693: Add extra validation to compilers & engines r=ptitSeb a=Amanieu

- Cranelift and singlepass now properly cross-compile with no dependency on the host target.
- Staticlib engine now panics if you try to run a freshly compiled module.
- CPU features used when a module was compiled are now checked against the host CPU features during instantiation.

Fixes #1567
Fixes #2590 

Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>
2021-11-23 19:48:25 +00:00
5312521688 Apply review feedback 2021-11-23 16:29:36 +00:00
cb88b6db62 Avoid depending on the host target in compilers 2021-11-23 15:19:32 +00:00
4944ddf754 Fix cranelift build without unwind 2021-11-22 21:46:39 +00:00
57f876b922 Make DWARF frametable generation deterministic in Cranelift 2021-11-22 15:30:15 +00:00
20f0c66fe6 feat(compiler) Added Trampolines and more Relocations for Arm64 (llvm-universal on linux-aarch64 are OK now) 2021-10-05 14:08:55 +02:00
5a742cef9e fix(compiler) Only use the trampoline for probestack on linux x86_64, not macos 2021-09-02 11:57:34 +02:00
14f8ffe8a4 fix(compiler) added the jmp address to the data of the custom section of the probestack trampoline 2021-09-02 11:22:38 +02:00
db7042ea14 fix(compiler) Added comment to trampoline x86_64 code 2021-09-01 16:59:22 +02:00
bc8dd5cd50 fix(compiler) Fix comment 2021-09-01 14:03:30 +02:00
cb61a632c8 fix(compiler) Fix lint 2021-09-01 14:03:12 +02:00
42cc25b788 fix(compiler) more conditional to limit probestack trampoline to x86_64 build 2021-09-01 13:49:22 +02:00
6c6df4a213 fix(compiler) Only create probstack custom section when building on x86_64 2021-09-01 13:34:29 +02:00
6d912f8ec5 Use custom probestack trampoline as a custom section 2021-09-01 12:04:21 +02:00
f7dcb02a79 Updated version 2021-08-21 10:21:37 +01:00
a5612aee81 Trying to fix issue with dynamic memory 2021-08-10 12:37:25 -07:00
1e980b82f7 Fixed dependencies a bit more 2021-08-10 11:47:44 -07:00
005d129529 Update all packages 2021-08-10 11:40:38 -07:00
98481f51fe Move ModuleInfo to wasmer-types 2021-07-16 15:42:39 -07:00
0c0fdad3d2 Prepare for 2.0.0 release 2021-06-15 11:26:46 -07:00
80a8658e5a Prepare for 2.0.0-rc2 release 2021-06-03 09:19:16 -07:00
cfc1a5fc26 Fix typo 2.0.0-rc -> 2.0.0-rc1 2021-06-02 08:32:46 -07:00
2897a5b05e Bump version number to 2.0.0-rc1 2021-06-02 08:21:34 -07:00
6a99268895 feat(llvm): Make NaN canonicalization configurable
compiler-llvm now uses the experimental.constrained intrinsics to ensure
correct behavior on FP operations when full-canonicalization is
disabled.

This patch requires TheDan64/inkwell#247
2021-05-28 11:40:10 +02:00
e5a784a006 feat: Rename wasmer-engine-jit to wasmer-engine-universal.
This (small) patch renames the `wasmer-engine-jit` crate into
`wasmer-engine-universal`.
2021-05-25 16:12:06 +02:00
51d0b7d57c Use only latest gimli version 2021-05-24 10:52:33 -07:00
e3a18c08ff Use latest cranelift 2021-05-24 10:50:08 -07:00
a5ba236bd7 Merge branch 'feature/update-clif-small-simd-improvement' into cranelift-simd
# Conflicts:
#	Cargo.lock
#	fuzz/Cargo.lock
#	lib/compiler-cranelift/Cargo.toml
#	lib/deprecated/runtime-core/Cargo.lock
2021-05-14 14:35:31 -07:00
0d4fe293e5 Merge branch 'master' into feature/update-clif-small-simd-improvement 2021-05-13 15:38:40 -04:00
89145ac977 Update relocation type for PIC Cranelift 2021-05-13 12:33:04 -07:00
7c96f54dfa Use old cranelift backend for now so cranelift+native tests pass 2021-05-12 15:40:25 -07:00
c7df813210 Update code with last simd instructions 2021-05-12 15:27:56 -07:00
9e04e2624b Update cranelift, impl low hanging fruit SIMD opcodes 2021-05-12 09:15:56 -07:00
f6dcfef96e Merge branch 'master' into HEAD 2021-05-12 08:33:23 -07:00
b7b9fc6d8e Merge branch 'master' into improve-traps 2021-05-11 13:48:35 -07:00
f3384bb912 Address comments 2021-05-11 13:08:00 -07:00
48139c3a08 Merge branch 'master' into unwind-optional
# Conflicts:
#	lib/compiler-singlepass/Cargo.toml
2021-05-11 11:26:50 -07:00
5dfdb1474b Remove unused features 2021-05-11 11:24:35 -07:00
f85382d07f Not use unwind feature 2021-05-11 11:13:35 -07:00
8b86f795b7 Improved trap handling 2021-05-10 16:42:10 -07:00
20758ea8af Update wasmparser to 0.77 2021-04-29 09:22:14 -07:00
cb66b5293d Improved middleware logic 2021-04-27 14:00:25 -07:00
8b00aec7a1 Improved a bit more the codebase 2021-04-26 21:32:41 -07:00
2df5854e37 Make compilers to take non-mutable inputs 2021-04-26 21:14:23 -07:00