Commit Graph

227 Commits

Author SHA1 Message Date
4a437464fb feat(singlepass): add NEON feature for arm64 2024-03-27 18:27:44 +01:00
03678c9deb Merge branch 'master' into dproxy 2024-03-11 18:39:39 +11:00
adab70e4d8 fix: fix feature = "cargo-clippy" deprecation 2024-03-04 14:32:36 +02:00
d034c50268 Resolved merge conflicts 2024-02-13 21:39:54 +11:00
83bb209a81 Increased artifact version 2024-02-07 14:06:26 +01:00
e2cd9a97ce Fixed all linting errors 2024-02-07 14:06:26 +01:00
e12e14616a Finished a progress bar for the loading of a journal 2024-01-24 02:00:48 +11:00
5fc6599aa6 feat(api): Add SharedMemoryHandle
Allows to trigger atomics related operations on a memory that supports
interacting with the atomics layer.

It adds a shared_handle() method to `Memory`.

Right now only final operations are exposed that wake up all atomic
waiters, and that allow disabling atomics.

This is required for forceful shutdown of instances that keep
hot-looping on atomics, and will be used from WASIX.
2024-01-23 12:27:15 +01:00
ff335cbc4f fix(api): Provide stub impls for new LinearMemory methods
This reverts a breaking API change by providing stub implementations for
two new methods on LinearMemory (grow_at_least, reset).

The implementations return a new MemoryError::UnsupportedOperation.
Note: Since MemoryError is non-exhaustive, adding a new variant is
allowed.

We can make these methods required in a future major release if desired.

Closes #4392
2024-01-08 17:59:18 +01:00
bce86dde4c Added better error handling that reduces a panic 2023-11-24 00:41:19 +11:00
abe6691339 Merge remote-tracking branch 'origin/master' into dcgi 2023-11-23 17:27:43 +11:00
51cd5c0979 Move enumset min version to workspace 2023-11-20 09:02:42 +01:00
f468003e1c Bump min enumset version to 1.1.0
The symbol `enumset::__internal::EnumSetTypeRepr` used in types was only
made public in 1.1.0:
https://github.com/Lymia/enumset/compare/v1.0.13...v1.1.0
2023-11-19 02:24:05 +01:00
7cef3703b7 Merge remote-tracking branch 'origin/master' into dcgi 2023-11-12 06:00:24 +11:00
c51902296a Added more snapshot events for the file system 2023-11-10 15:59:48 +11:00
dcc9cc1f1b deps: Lift memoffset into a workspace dependency
To avoid duplication
2023-11-02 14:39:03 +01:00
938293f1c5 Update memoffset to 0.9.0
Implemented as part of https://github.com/rust-lang/rust/issues/111839
2023-11-02 14:39:03 +01:00
bab924aaef Make sure vmoffset are aligned to pointer size (for #4059) (#4167)
* Make sure vmoffset are aligned to pointer size (for #4059)

* Fix linter

* Be more conservative on alignment

* Bumped MAGIC Header version as vmoffset changed

* Update linux wasmu files for CI deserialize test

* Updated windows wasmu files for deserialize CI test
2023-08-29 14:24:10 +02:00
63987fa362 Revive "0-copy module deserialization"
This reverts commit afa67ffa5d.
2023-08-22 09:35:59 +04:00
afa67ffa5d Revert "0-copy module deserialization" 2023-08-17 12:01:59 -07:00
de80e2ee83 0-copy module deserialization 2023-08-09 15:01:46 +04:00
c4541be53b Make sure docs.rs enables #[cfg(docsrs)] when building docs 2023-07-10 13:07:40 +08:00
935fc09e1b Enable the doc_cfg feature when running on docs.rs 2023-07-10 12:58:06 +08:00
592e34b23f Fix linting 2023-06-19 14:11:09 +02:00
0476ea6879 Fix links 2023-06-19 14:03:11 +02: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
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
4f057856f4 refactor!: Memory API modifications (try_clone/copy, duplicate_in_store)
* Change the try_clone and try_copy methods to return a Result<_, MemoryError>
  This is a more informative return type than the previous Option<>,
  and allows handling failure cases better

* Remove deprecated duplicate_in_store() method

Closes #3810
2023-05-18 02:44:15 +02:00
83970e31a8 Fixed the merge conflicts after merging from master 2023-05-11 22:55:28 +10:00
47bae1ba31 Fix cargo update (#3853)
* Fixed linter

* Do not update wasm-bindgen crates and friend
2023-05-10 16:14:38 +02:00
87f684ae68 Rewrote the FileSystem cache to take @theduke's comments into account 2023-05-05 16:42:58 +08: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
1cc7d2471b Merge branch 'better-errors' into jsc
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	lib/api/src/errors.rs
#	lib/api/src/lib.rs
#	lib/cli/Cargo.toml
2023-04-22 19:44:14 -07:00
88f712aebe Multiple doc fixes 2023-04-22 10:00:26 -07:00
a18fd0b73a Multiple fixes 2023-04-22 01:52:11 -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
6c7e47b5db Removed the store_id functions that were added 2023-04-19 11:30:40 +10:00
d48f401c5b Merge branch 'master' into asynchronous-threading
Made the snapshot tests more deterministic
2023-04-19 09:58:58 +10:00
7fb7c09080 Release 3.2.0 2023-04-18 16:30:03 +02:00
38425b1de5 Fixed the linting issues 2023-04-14 21:31:09 +10:00
85ad071952 Refactored async threading so that it works with the browser 2023-04-14 20:50:36 +10:00
72653429e3 Merge branch 'master' into shared-jsc-dash-fixes-and-pthreads
# Conflicts:
#	Cargo.toml
#	lib/cli/Cargo.toml
2023-04-07 21:05:23 -07:00
e774697d5c Merge remote-tracking branch 'origin/master' into asynchronous-threading 2023-04-07 12:42:04 +10:00
e40c6a4177 Release 3.2.0-beta.2 2023-04-05 13:25:40 +02:00
1855c7f91b Merge remote-tracking branch 'origin/master' into asynchronous-threading 2023-04-01 17:59:35 +11:00
c5bc8ae72a Merge branch 'master' into shared-jsc-dash-fixes-and-pthreads
# Conflicts:
#	Cargo.toml
#	lib/api/src/engine.rs
#	lib/api/src/imports.rs
#	lib/cli/Cargo.toml
#	lib/wasi/src/runtime/mod.rs
2023-03-31 18:18:24 -07: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