Syrus Akbary
a419ccdf52
Move Webassembly objects to Store and remove Context
...
Co-authored-by: ptitSeb <sebastien.chev@gmail.com >
Co-authored-by: Manos Pitsidianakis <manos@wasmer.io >
2022-07-19 15:31:51 +03:00
Manos Pitsidianakis
f744bac1a2
Store: replace new() with new_with_engine() and make new() take CompilerConfig
...
Since there's one engine now, it doesn't make sense to initialize a
`Store` with the engine specifically. It's an extra redundant step for
the API user.
2022-06-16 16:57:45 +03:00
Manos Pitsidianakis
8f539d134b
Move wasmer_compiler/{address_map, function, module, sourceloc, trap, unwind}.rs to wasmer_types
2022-06-16 16:57:45 +03:00
Manos Pitsidianakis
b1f1939bf7
Move wasmer_compiler/{section,relocation}.rs to wasmer_types
2022-06-16 16:57:45 +03:00
Manos Pitsidianakis
feee4e3587
Move wasmer_compiler errors to wasmer_types error module
2022-06-16 16:57:45 +03:00
Wolfgang Silbermayr
5339f7cdae
Fix clippy lints
...
Fixes : #2926
2022-06-09 16:05:53 +02:00
Manos Pitsidianakis
00f9a3c8d7
Remove loupe dependency
...
Closes #2731
Closes #2744
2022-06-08 14:12:49 +03:00
Manos Pitsidianakis
33654c1a1d
Release version 2.3.0
2022-06-06 22:27:57 +03:00
Amanieu d'Antras
4c946257cf
Update Cranelift to 0.82
2022-04-06 16:23:32 +01:00
Amanieu d'Antras
3ad9552e2e
Update wasmparser to 0.83
2022-04-06 16:23:32 +01:00
ptitSeb
31c9e622f7
Removed Arm64MovwX relocs
2022-03-17 10:41:04 +01:00
bors[bot]
fc794ab4e3
Merge #2807
...
2807: Run Wasm code on a separate stack r=Amanieu a=Amanieu
This uses the [corosensei](https://crates.io/crates/corosensei ) crate to
run Wasm code on a separate stack from the main thread stack.
In trap handlers for stack overflows and memory out of bounds accesses,
we can now check whether we are executing on the Wasm stack and reset
execution back to the main thread stack when returning from the trap
handler.
When Wasm code needs to perform an operation which may modify internal
data structures (e.g. growing a memory) then execution must switch back
to the main thread stack using on_host_stack. This is necessary to avoid
leaving internal data structure in an inconsistent state when a stack
overflow happens.
In the future, this can also be used to suspend execution of a Wasm
module (#1127 ) by modeling it as an async function call.
Fixes #2757
Fixes #2562
Co-authored-by: Amanieu d'Antras <amanieu@gmail.com >
2022-03-16 13:24:50 +00:00
Amanieu d'Antras
fe9d2d8d22
Release version 2.2.1
2022-03-15 11:02:31 +00:00
Amanieu d'Antras
7467ec3261
Use LLVM's inline-asm stack probing instead of an external function
2022-03-14 22:14:22 +00:00
ptitSeb
df4943338a
Update regex crate to 1.5+ (from 1.3)
2022-03-11 16:47:40 +01:00
Amanieu d'Antras
4dd1634218
Release version 2.2.0
2022-02-28 17:19:14 +00:00
Amanieu d'Antras
15f9d2646f
Release version 2.2.0-rc1
2022-02-15 19:10:24 +00:00
Toru Nayuki
1daf3ed6dc
Fix lint
2022-02-10 11:25:31 +09:00
Toru Nayuki
82eed9acd4
Made relocations matching strictly in compiler-llvm
2022-02-09 21:41:01 +09:00
Amanieu d'Antras
4e27e1164c
Release version 2.2.0-rc1
2022-01-27 23:59:27 +00:00
Amanieu d'Antras
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
Amanieu d'Antras
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
Amanieu d'Antras
78eb5bc4c0
Fix alignment of WASMER_METADATA in the dylib engine
...
rykv requires this to be at least 16-byte aligned.
2022-01-04 16:23:49 +01:00
Amanieu d'Antras
ebcea4a5c4
Release v2.1.1
2021-12-21 12:19:50 +01:00
Amanieu d'Antras
c650ffea33
Version 2.1.0
2021-11-30 23:46:54 +00:00
Syrus Akbary
aae99dda0d
Update requirements
2021-11-30 21:00:06 +01:00
Amanieu d'Antras
cca6a6b6cc
Bump minimum required LLVM version to 12
2021-11-16 03:21:06 +00:00
bors[bot]
2b104a8ecc
Merge #2677
...
2677: Support 32-bit memories with 65536 pages r=ptitSeb a=Amanieu
Fixes #2187
Co-authored-by: Amanieu d'Antras <amanieu@gmail.com >
2021-11-10 15:49:43 +00:00
Amanieu d'Antras
6a0b381763
Support 32-bit memories with 65536 pages
...
Fixes #2187
2021-11-10 14:49:32 +00:00
ptitSeb
2b7669d346
fix(compiler) Fix BrTable on llvm compiler when non default is jumpting on loop_body
2021-11-09 11:44:47 +01:00
bors[bot]
04a4758df0
Merge #2656
...
2656: update(compiler) switched upstream Inkwell (for #2645 ) r=Amanieu a=ptitSeb
# Description
Use upstream Inkwell instead of custom version
Co-authored-by: ptitSeb <sebastien.chev@gmail.com >
2021-11-05 12:58:17 +00:00
ptitSeb
14431e5c61
fixed lint
2021-11-05 12:15:26 +01:00
ptitSeb
d7bb25de90
update(compiler) fixed new warning
2021-11-05 12:12:36 +01:00
ptitSeb
190d670eb9
fix linter
2021-11-05 09:59:58 +01:00
ptitSeb
7ccd6af929
update(compiler) switched upstream Inkwell (for #2645 )
2021-11-05 09:54:47 +01:00
Amanieu d'Antras
7c67f7ce71
Remove unused nightly feature
2021-11-04 17:37:22 +00:00
ptitSeb
8c24ab48db
Some last small changes
2021-10-18 11:55:42 +02:00
ptitSeb
eccc9dc77e
Removed unused commented code
2021-10-12 13:30:57 +02:00
ptitSeb
b54780cdab
feat(compiler) Refactor the new ARM Reloc and Trampoline to avoid a &mut
2021-10-12 10:11:36 +02:00
ptitSeb
0c6010ca34
feat(compiler) Use x17 as scratch instead of x16 on Aarch64 to help with Apple ABI
2021-10-08 16:19:31 +02:00
ptitSeb
204238c9c9
feat(compiler) Fixed linting
2021-10-07 11:27:08 +02:00
ptitSeb
9cf36055f2
feat(compiler) Don't try to use macOS Aarch64 specific ABI for now (at least coremark works now)
2021-10-07 11:24:32 +02:00
ptitSeb
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
ptitSeb
21660e6d05
feat(compiler) Added preliminary support for Arm64Call relocation
2021-09-28 10:03:25 +02:00
ptitSeb
12135eb062
fix(compiler) macOS Aarch64 ABI is not SystemV
2021-09-28 10:01:16 +02:00
Syrus Akbary
f7dcb02a79
Updated version
2021-08-21 10:21:37 +01:00
Nathan Horrigan
6ddc2f6454
Add iOS support for Headless Wasmer
2021-08-21 10:21:37 +01:00
Syrus Akbary
005d129529
Update all packages
2021-08-10 11:40:38 -07:00
Syrus Akbary
98481f51fe
Move ModuleInfo to wasmer-types
2021-07-16 15:42:39 -07:00
yukang
be70057830
add notes for llvm
2021-07-08 21:37:12 +08:00