Manos Pitsidianakis
924d2dcf4e
Remove Universal mentions from cargo features
2022-07-25 14:45:27 +03:00
Manos Pitsidianakis
b15e8c2e4e
Refactor last traces of "Universal" nomenclature
2022-07-25 13:23:16 +03:00
Manos Pitsidianakis
4a06b1d3f6
Rename engine's Universal type to Backend
...
The Universal type was essentially a builder of engines that's given a
compiler backend and creates an Engine with .engine() method. The name
was not clear.
2022-07-25 13:23:13 +03:00
Manos Pitsidianakis
c2ecb99142
Rename UniversalArtifact to Artifact
2022-07-25 13:21:43 +03:00
Manos Pitsidianakis
51be5d0860
Rename UniversalEngine to Engine
2022-07-25 13:21:41 +03:00
Manos Pitsidianakis
987a90c0dc
Remove Engine trait
2022-07-25 13:19:32 +03:00
Manos Pitsidianakis
187d2e6364
Remove Artifact trait
...
In favor of using UniversalArtifact everywhere
2022-07-25 13:13:52 +03:00
Manos Pitsidianakis
37773f29d7
Store/create Arc<ModuleInfo> in Module on Instantiation
...
Instead of accessing Arc<ModuleInfo> from the artifact a module was
instantiated from, create a copy from it in each instantiated module.
2022-07-25 13:13:52 +03:00
Manos Pitsidianakis
4b7671cabd
Leave rkyv dependency only in wasmer-types
...
rkyv is only needed in wasmer-types crate after moving all serializable
types there.
2022-07-25 13:13:52 +03:00
Manos Pitsidianakis
0bf94d6276
Move SerializableModule, SerializableCompilation to wasmer_types
2022-07-25 13:13:52 +03:00
ptitSeb
fec2e5fa51
Added back some needed relocation for arm64 llvm compiler
2022-07-20 11:45:17 +03:00
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
a67e17db6a
lib/compiler: delete left-over file
2022-07-19 15:31:51 +03:00
Amanieu d'Antras
738a66f719
Implement the new Context API for the core API
...
Co-authored-by: ptitSeb <sebastien.chev@gmail.com >
2022-07-19 15:31:51 +03:00
Felix Schütt
220751a035
Remove RuntimeError::raise from public API
2022-07-05 14:12:58 +03:00
Tom Parker-Shemilt
c55cee41a5
Upgrade enumset minimum version to one that compiles
2022-06-29 20:32:29 +03:00
Manos Pitsidianakis
086205bfcc
Remove wasmer_engine_universal{,_artifact} and merge into wasmer_compiler
2022-06-16 16:57:45 +03:00
Manos Pitsidianakis
a6173f9746
Remove wasmer-{artifact,engine} and merge it into wasmer-compiler and wasmer-vm
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
Manos Pitsidianakis
699bd3f8ca
Update rkyv dependency to 0.7.38
2022-06-16 16:57:45 +03:00
Manos Pitsidianakis
4a80830566
lib/types: remove ArchivableIndexMap struct
...
rkyv supports IndexMap via a feature flag, so having our own IndexMap
type is unnecessary.
2022-06-16 16:57:45 +03:00
Manos Pitsidianakis
065734bb05
Make rkyv dependency required
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
ptitSeb
3d7ae9e21f
Moved LibCall enum to wasmer_types, and compiler is no longer dependant of wasmer_vm
2022-05-03 09:32:34 +02:00
ptitSeb
e745ceab7a
Moved TableStyle and MemoryStyle to wasmer-types (and compiler-single pass do not depend from vm anymore)
2022-05-03 09:32:34 +02:00
ptitSeb
d5bbfd0768
Moved TrapCode enum to wasmer_types, and adapted compiler and wompiler-singlepass
2022-05-03 09:32:34 +02:00
Manos Pitsidianakis
77af8ba634
Fix some clippy lints
...
Before:
```
% make lint 2>&1 | grep warnings | sort | uniq
error: could not compile `wasmer-cli` due to previous error; 25 warnings emitted
warning: `compiler-test-derive` (lib) generated 8 warnings
warning: `test-generator` (lib) generated 4 warnings
warning: `wasi-test-generator` (bin "wasi-test-generator") generated 8 warnings
warning: `wasmer-cache` (lib) generated 4 warnings
warning: `wasmer-cli` (lib) generated 25 warnings
warning: `wasmer-compiler-cranelift` (lib) generated 50 warnings
warning: `wasmer-compiler-singlepass` (lib) generated 228 warnings
warning: `wasmer-compiler` (lib) generated 3 warnings
warning: `wasmer-emscripten` (lib) generated 182 warnings
warning: `wasmer-engine-dummy` (lib) generated 6 warnings
warning: `wasmer-engine-dylib` (lib) generated 37 warnings
warning: `wasmer-engine-staticlib` (lib) generated 16 warnings
warning: `wasmer-engine-staticlib` (lib) generated 7 warnings
warning: `wasmer-engine-universal` (lib) generated 11 warnings
warning: `wasmer-engine` (lib) generated 15 warnings
warning: `wasmer-object` (lib) generated 5 warnings
warning: `wasmer-types` (lib) generated 31 warnings
warning: `wasmer-vfs` (lib) generated 4 warnings
warning: `wasmer-vm` (lib) generated 40 warnings
warning: `wasmer-wasi-experimental-io-devices` (lib) generated 11 warnings
warning: `wasmer-wasi-types` (lib) generated 3 warnings
warning: `wasmer-wasi` (lib) generated 13 warnings
warning: `wasmer-wast` (lib) generated 11 warnings
warning: `wasmer` (lib) generated 54 warnings
```
After:
```
warning: `wasmer-cli` (lib) generated 16 warnings
warning: `wasmer-compiler-cranelift` (lib) generated 48 warnings
warning: `wasmer-compiler-singlepass` (lib) generated 213 warnings
warning: `wasmer-emscripten` (lib) generated 170 warnings
warning: `wasmer-engine-dummy` (lib) generated 6 warnings
warning: `wasmer-engine-dylib` (lib) generated 4 warnings
warning: `wasmer-engine-staticlib` (lib) generated 14 warnings
warning: `wasmer-engine-staticlib` (lib) generated 5 warnings
warning: `wasmer-engine-universal` (lib) generated 9 warnings
warning: `wasmer-engine` (lib) generated 12 warnings
warning: `wasmer-object` (lib) generated 3 warnings
warning: `wasmer-types` (lib) generated 7 warnings
warning: `wasmer-vm` (lib) generated 36 warnings
warning: `wasmer-wasi-experimental-io-devices` (lib) generated 6 warnings
warning: `wasmer-wasi-types` (lib) generated 3 warnings
warning: `wasmer-wasi` (lib) generated 9 warnings
warning: `wasmer-wast` (lib) generated 9 warnings
warning: `wasmer` (lib) generated 42 warnings
```
2022-04-20 18:25:04 +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
Amanieu d'Antras
fe9d2d8d22
Release version 2.2.1
2022-03-15 11:02:31 +00: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
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
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
Amanieu d'Antras
cbd169add2
Upgrade rkyv to 0.7
2021-11-19 10:32:34 +00: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
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
4f3b0a95a3
feat(compiler) - Fixed Arm64Call relocation
2021-09-28 11:25:21 +02:00
ptitSeb
21660e6d05
feat(compiler) Added preliminary support for Arm64Call relocation
2021-09-28 10:03:25 +02:00
Syrus Akbary
f7dcb02a79
Updated version
2021-08-21 10:21:37 +01:00
Syrus Akbary
1e980b82f7
Fixed dependencies a bit more
2021-08-10 11:47:44 -07:00
bors[bot]
baebb436e2
Merge #2460
...
2460: Added Wasmer Js API 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
This PR adds support for compiling Wasmer into JS/Wasm via wasm-bindgen, so 3rd party dependencies can use Wasmer to target the web also.
Things working:
* [x] Type introspection: we have to decide how to do it, either run our own parser on the data or rely on the future APIs for introspect Wasm types (this APIs are yet available in the browser, but a proposal is on the way: [wasm-js-types proposal](https://github.com/WebAssembly/js-types )).
* [x] Wasm-pack wasmer-js tests
* [x] Assert 0 warnings in lint
* [x] Allow for custom JS errors (via `RuntimeError`)
* Externals
* [x] Functions with and without Environments
* [x] Native functions
* [x] Dynamic functions
* [x] Memory
* [x] Globals
* [x] Tables
# Review
- [ ] Add a short description of the change to the CHANGELOG.md file
Co-authored-by: Syrus Akbary <me@syrusakbary.com >
2021-07-23 23:23:59 +00:00