Commit Graph

525 Commits

Author SHA1 Message Date
59fc41a61e More lints 2023-05-29 21:15:30 +08:00
b7ec778299 Fixed a clippy issue 2023-05-29 21:15:27 +08:00
49fe334072 Making clippy happy 2023-05-29 21:14:50 +08:00
ce41932ede Switch all crates over to using the [workspace.package] metadata 2023-05-29 21:08:41 +08:00
36b077d34b Release 4.0.0-alpha.1 (#3912)
* Release 4.0.0-alpha.1
2023-05-25 17:30:02 +02:00
fc87e4bd60 Removed all deprecated functions 2023-05-25 11:53:18 +02:00
3b106be90d Changed tunables to have a VMConfig settings (with only stack size for now) 2023-05-24 13:52:28 +02:00
32e0efcfa3 Fixed Artifact::deserialize to call deserialize_object when needed 2023-05-24 07:31:57 +00:00
fa2f2d9c63 Rework Module deserialize methods
Rework the deserialize/deserialize_checked methods for module
deserialization.

* Make deserialize() methods use artifact validation
* Make checked methods unsafe again, because loading executable memory
  is inherently unsafe
* Rename methods that skip artifact validation to deserialize_unchecked

Closes #3727
2023-05-24 07:31:57 +00:00
f25b3f171a Fixed a bunch of broken doc links 2023-05-05 14:26:32 +08:00
5eeda455a4 Release 3.3.0 (#3842)
* Update CHANGELOG

* Release 3.3.0

* Added sumup of the version in CHANGELOG.md

* Update other crate versions
2023-05-03 09:26:36 +00:00
06ee28a3b4 Fixed lint 2023-04-22 03:11:51 -07:00
faaecc5c02 Move RuntimeError logic into sys 2023-04-22 02:27:38 -07:00
a18fd0b73a Multiple fixes 2023-04-22 01:52:11 -07:00
44a7e8419b Fixed errors 2023-04-22 01:48:56 -07:00
096f33b4d0 Trying to improve the errors 2023-04-22 01:20:39 -07:00
f884842225 Improved error 2023-04-21 23:42:58 -07:00
45441bf3ad Improved error implementation 2023-04-21 22:33:13 -07:00
013fb1417f Trying to simplify RuntimeError 2023-04-21 22:09:55 -07:00
25d415d8b7 Improved error 2023-04-21 21:14:18 -07:00
2b3442f4fc Improved a bit the API 2023-04-21 20:56:01 -07:00
a19ffa2769 Moved FrameInfo into wasmer types 2023-04-21 20:21:41 -07:00
74fe894c07 Release 3.2.1 (#3809)
* Update CHANGELOG

* Release 3.2.1

* Added a manual ChangeLog

* Increment 0.x crates versions too

* Fixed a typo in the (short) ChangeLog
2023-04-21 14:06:31 +00:00
7fb7c09080 Release 3.2.0 2023-04-18 16:30:03 +02:00
e40c6a4177 Release 3.2.0-beta.2 2023-04-05 13:25:40 +02:00
47cc5bbf99 feat: Implement safe, checked module artifact deserialization
Enable rkyv validation of serialized module artifacts.

Required additions:
* derive the required CheckBytes trait for all types
* Add `_checked` variants of all the deserialization functions

Also enables the `strict` feature of rkyv by default.
This will ensure consistent archive binary layout across architectures
and Rust compiler versions.
2023-03-31 13:01:58 +00:00
d58d158897 Release 3.2.0-beta.1 2023-03-22 19:14:57 +01:00
7500ce76fc Feat riscv llvm and cranelift (#3244)
* Basic changes for RISC-V support

* RISC-V in compiler LLVM

* RISC-V support in dylib engine

* RISC-V support in universal engine

* Various small fixes

* [RISCV] LLVM-riscv working, with some ignored tests to be worked on later

* Update rustc to 4.65 (1.64 has some issue with riscv64 target)

* Fixed some (new) Linting issues

* Updated Cargo.toml and remove split-debuginfo for Windows build

* Removed profile.dev from Cargo.toml as it cannot be per platform (breaks Windows). split-debug info is now the default value

* Enable Cranelift compiler for RISCV

* Update crates and fixed all the new clippy errors

* Taken review remarks into account

* Removed change from deny.toml, it's not needed anymore

* Added some more comment about llvm abi hack

* Added doc about current state of RISCV support

* Fixed (newer) linter

---------

Co-authored-by: Toru Nayuki <tnayuki@icloud.com>
2023-03-22 15:26:28 +01:00
f8c0910c33 Update wasmparser to v0.95 (#3682)
* Update wasmparser to v0.95

* Update lib/compiler/src/translator/module.rs

Co-authored-by: Syrus Akbary <me@syrusakbary.com>

---------

Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2023-03-15 11:15:58 +01:00
ee58d7c2b2 Revert "Update wasmparser to v0.91"
This reverts commit 87232623de.
2023-03-15 01:46:26 +01:00
87232623de Update wasmparser to v0.91 2023-03-14 20:39:38 +01:00
a6ebf78fcb Verious fixes for the wasix merge 2023-02-24 14:37:48 -08:00
826d32194d Merge branch 'master' into std-api
# Conflicts:
#	lib/api/src/js/mem_access.rs
#	lib/api/src/js/mod.rs
#	lib/api/src/sys/typed_function.rs
#	lib/wasi/src/syscalls/wasix32.rs
#	lib/wasi/src/syscalls/wasix64.rs
#	lib/wasi/src/utils/mod.rs
2023-02-24 14:13:02 -08:00
1f64ba13e0 Wrap engine 2023-02-24 13:35:46 -08:00
b61e2a1287 Added equality to instance, Module and Exports 2023-02-16 21:56:44 -08:00
d85297fddc Fix linting and compilation 2023-02-16 21:21:44 -08:00
db6dd420e1 Optimized ModuleInfo usage 2023-02-16 20:44:49 -08:00
81bae8f95d Merge remote-tracking branch 'origin' into wasix-major-fixes-and-tweaks 2023-02-16 15:40:44 +11:00
8d46f7f2d7 Make AsStoreRef and friends work for anything that derefs to an AsStoreRef 2023-02-16 00:41:03 +08:00
92255601fe Merge branch 'master' into std-api
# Conflicts:
#	lib/api/src/sys/instance.rs
2023-02-11 18:19:10 -08:00
8b0d1fc302 wasi: Partial unification of instance spawning
Introduces a new WasiEnvInit type that should hold all information
required for initializing an instance.

An instance can then be created with WasiEnv::instantiate().
This method takes care of all the required setup steps to properly run a
wasi(X) module.
2023-02-08 14:36:01 +01:00
1387363a7b Fix/compile not in memory (#3573)
* Example of allocated artifact
* Better error when Instancing fail because of OS/Arch issue
* Add missing brnach for new error
---------

Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2023-02-06 10:28:39 +01:00
d09a76ec5f Use standard API for js and sys for Module. Added Engine in js 2023-01-27 17:10:54 +01:00
420cde0224 Merge branch 'master' into fix_instancehandle_memoryleak 2023-01-25 14:19:19 +01:00
0dc0ce1f0d Renamed InstanceHandle to VMinstance, and InstanceAllocator::write_instance to into_vminstance 2023-01-25 12:06:09 +01:00
4b9389cdaa Release 3.2.0-alpha.1 2023-01-23 12:52:43 +01:00
c1fec2f32e Always import ModuleInfo 2023-01-19 19:54:23 +01:00
b26b48794c Move get_module_info into the Engine 2023-01-19 19:43:01 +01:00
17943e5e11 Refactor Artifact::new into separate sub-functions 2023-01-19 17:24:44 +01:00
fd5962dd66 Revert "Fix make lint"
This reverts commit e2755b7107.
2023-01-19 09:23:10 +01:00