Commit Graph

1074 Commits

Author SHA1 Message Date
Christoph Herzog
9607291a39 Remove un-needed feature flags for DynamicFunction
These are not present in master branch anymore, and ar enot neccessary.
2022-12-22 12:42:26 +01:00
Christoph Herzog
3aec63bd62 Merge branch 'wasix-core-changes' into wasix 2022-12-22 11:24:58 +01:00
Christoph Herzog
de443dcf15 Remove StoreSnapshot functionality
The StoreSnapshot isn't necessary in the public API.
Thanks to the new global accessors on StoreObjects, it is possible to
implement this externally instead.
2022-12-22 11:23:46 +01:00
Christoph Herzog
71cc16fa7a Merge branch 'wasix-core-changes' into wasix 2022-12-22 11:17:38 +01:00
David Sherret
86c9cf15a4 Updated Module::deserialize_from_file 2022-12-19 22:16:06 -05:00
Christoph Herzog
9c12b87eb0 Rename fork() to duplicate()
Renames all the memory fork() functions to duplicate(),
since this is what they actually do.

They enable forking, but that is a seprate functionality.
2022-12-19 18:04:00 +01:00
Felix Schütt
1d4bc0446c Fix make lint / remove unnecessary code 2022-12-19 12:05:55 +01:00
David Sherret
70ca66f803 Module.deserialize - accept AsEngineRef 2022-12-18 15:44:17 -05:00
Christoph Herzog
0e67e0a019 Merge branch 'wasix-core-changes' into wasix 2022-12-16 12:27:37 +01:00
Christoph Herzog
7ac71bc28a Remove redundant commented out function
Leftover...
2022-12-16 11:47:05 +01:00
Christoph Herzog
117ef3c6ee Document a type + add TODO 2022-12-16 11:47:05 +01:00
Christoph Herzog
d66fedf87f Replace complicated type with type alias
The same as in sys/store.rs
2022-12-16 11:47:05 +01:00
Christoph Herzog
af313838b1 Use byte slice for constructing JS modules
Re-implement the change from IntoBytes to plain &[u8].

This was probably messed up during a rebase.
2022-12-16 11:47:05 +01:00
Christoph Herzog
77f11d2bbd chore: Remove unused function 2022-12-16 11:47:05 +01:00
Christoph Herzog
0719b57a23 Fix From<> implementation
Invalid method name...
2022-12-16 11:47:05 +01:00
Christoph Herzog
cd5dfe6669 Fix various clippy lints 2022-12-16 11:47:05 +01:00
Christoph Herzog
7f63cad239 Revert WasmPtr breaking changes
They are not needed.
2022-12-16 11:47:04 +01:00
Christoph Herzog
7c679055d8 Rewrite some use statements
Smaller diff, and more sensible that way.
2022-12-16 11:47:04 +01:00
Christoph Herzog
2cd094b5ed Remove un-used Import/ExportError variant SerializationFailed
Wasn't used anywhere.
Maybe just a botched rebase leftover.
2022-12-16 11:47:04 +01:00
Christoph Herzog
5109a407c4 WASIX Preparation
This commit extracts changes to core libraries made in the WASIX branch.

It is not reasonable to extract the partial commit history, so this is
just a batch commit.

The history will make a bit more sense again if we decide to merge the
WASIX branch with full commit history.
2022-12-16 11:47:04 +01:00
Christoph Herzog
173e48601c Merge remote-tracking branch 'origin/master' into wasix 2022-12-13 01:40:22 +01:00
Christoph Herzog
976c7f7958 Fix compile errors after merge 2022-12-06 14:57:50 +01:00
Christoph Herzog
eb60a96bcf Merge branch 'master' into wasix-merge 2022-12-06 13:22:09 +01:00
Michael-F-Bryan
d4041463be Use the wasm_bindgen_downcast crate for downcasting JsValues
We need this because @wasmer/wasi gets minified, which breaks our downcast check.
2022-12-01 21:27:09 +08:00
ptitSeb
7ffd08668e Fixed minimal-sys build 2022-12-01 09:31:40 +01:00
ptitSeb
f5d0b7ce0c Fixed doc again 2022-11-30 13:04:38 +01:00
ptitSeb
75b5ea3fdd Merge branch 'master' into feat_engineref 2022-11-30 11:13:03 +01:00
ptitSeb
605ddf1dfb Fixed doc building 2022-11-30 10:38:45 +01:00
ptitSeb
33a433fef7 Engine now has it's own Tunables 2022-11-29 21:15:32 +01:00
ptitSeb
9916b62218 Fixed docs 2022-11-25 18:26:58 +01:00
ptitSeb
f50d8bab82 Removed EngineRef from api/js, there is no Compiler there so it's irrelevant 2022-11-25 17:19:02 +01:00
ptitSeb
a466c4b27b Introduced EngineRef and AsEngineRef trait 2022-11-25 16:59:54 +01:00
ptitSeb
b86f129c44 Moved import_shared_memory to wasi specific, and use this function on the run/wasi cli command directly
Fixed linter

Fixed js build

Fixed linter
2022-11-22 16:01:23 +01:00
Syrus Akbary
519f29b7a8 Added exists function to imports 2022-11-22 15:43:08 +01:00
ptitSeb
8a0bd4b331 Added some aarch64 atomic access emitter (not finished)
Removed public Imports::import_shared_memory and try to auto-initialize shared memory directly

Fixed clippy

Added Atomic Add/Sub/And/Or/Xor operator to Singlepass/AArch64 backend

Added atomic_xchg support for Singlepass/AArch64 backend

Finished all atomic access operator for Singlepass/Aarch64 backend
2022-11-22 15:43:06 +01:00
John Sharratt's Shared Account
a5f641b4b0 Implemented shared memory for Wasmer in preparation for multithreading
Fixed linter

Fixed clippy

Cleaned up some merge leftover
2022-11-22 14:11:32 +01:00
ptitSeb
f4ae6cb732 Export Module::IoCompileError as it's an error returned by an exported function (for #3267) 2022-11-16 12:04:04 +01:00
Christoph Herzog
271a36d72b Various fixes
* Fix bindings generation with manual patchup via syn
* Fix .wit types and re-generate bindings
* Enable some missing dependency features
2022-11-15 10:17:29 +01:00
John Sharratt's Shared Account
9eae81e5eb Ran cargo fmt --all 2022-11-14 19:59:33 +11:00
John Sharratt's Shared Account
e28ce96c63 Fixed the JS dependency issues 2022-11-14 17:24:55 +11:00
John Sharratt's Shared Account
3c6114c225 Fixed an issue with building pirita on JS targets 2022-11-14 16:27:42 +11:00
John Sharratt's Shared Account
d3d9cc3117 Fixed the JS build 2022-11-14 14:23:34 +11:00
John Sharratt's Shared Account
af43177126 Fixed a bunch of the feature flag combinations 2022-11-14 12:49:35 +11:00
John Sharratt's Shared Account
461a5abd4e Fixed the asyncify call loop which was lost in the merge 2022-11-12 14:04:28 +11:00
John Sharratt's Shared Account
38b1f82217 Getting there.... 2022-11-10 15:35:58 +11:00
Christoph Herzog
d0f8c136a7 fix: Remove duplicate trait impl 2022-11-08 09:41:28 +01:00
Christoph Herzog
1150c43870 api: Don't duplicate IntoBytes trait for js and sys 2022-11-08 09:41:06 +01:00
Christoph Herzog
61190088d2 Partial rebase to wasmer master (non-functional) 2022-11-07 15:15:25 +01:00
Christoph Herzog
587571804e Formatting... 2022-11-07 15:11:42 +01:00
John Sharratt's Shared Account
572ea3e9cd Changes required to bring in full WASIX support
- Implemented multi-threading for both JS and SYS, plus other WASIX implementations
- Added a longjmp capability required for bash and other WASIX implementations
- Added real signals to WASIX
- Added a stack unwinding and winding functionality
- Implemented memory forking which will be used for process forking
- Added the ability to fork the current process
- Added the vfork functionality
- Moved over to the WasiPipe implementation
- Added more syscalls needed for bash on WASIX
- Ported wasmer-os into wasmer
- Added a union file system and the character devices
- Moved the cursors to the file handles rather than the file so that they are multithread safe and can handle concurrent IO
- Reimplemented the poll_oneoff functionality to support full ASYNC
- Added support for mapping directories in the host file system into WASIX sandbox file systems
- Implemented fully ASYNC sockets and emulated ASYNC files
- Made the file locks more granular to allow for concurrent poll and accept operations
- Fixed a race condition on the event notifications
2022-11-07 15:11:29 +01:00