Commit Graph

177 Commits

Author SHA1 Message Date
ptitSeb
d08d3c1c95 Updated the other crates too 2023-04-18 16:53:04 +02:00
ptitSeb
7fb7c09080 Release 3.2.0 2023-04-18 16:30:03 +02:00
ptitSeb
e40c6a4177 Release 3.2.0-beta.2 2023-04-05 13:25:40 +02:00
ptitSeb
c145390caa Bumped crates version pre-beta.2 release (#3743) 2023-04-05 10:45:13 +00:00
ptitSeb
d58d158897 Release 3.2.0-beta.1 2023-03-22 19:14:57 +01:00
ptitSeb
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
Christoph Herzog
4a99b50af8 Remove PluggableRuntime::default()
We don't want this impl anymore, because the user should be forced to
supply the virtual task manager manually so they are cognizent of the
fact they WASIX is running on an async runtime.
2023-03-21 17:20:27 +00:00
Christoph Herzog
ffacc03ded refactor(wasi): Rename PluggableRuntimeImplementation to PluggableRuntime
The *Implementation suffix is just pure noise.
2023-03-21 17:20:27 +00:00
ptitSeb
f59ab5caee Renamed virtfs to virtual-fs and virtnet to virtual-net 2023-03-16 09:29:51 +01:00
ptitSeb
feb79e4392 Renamed some crates and changed their version to 0.1.0 2023-03-15 14:20:04 +01:00
Christoph Herzog
5e73761c22 deps: Remove tempdir dependency
We already depend on `tempfile`, which also provides temp dir
functionality.

This gets rid of a cargo-deny error due to a race condition in
remove_dir_all, which is a dependency of the removed "tempdir" crate.

Also bumps the minimum tempfile version in Cargo.toml files to be
consistent.
2023-03-06 07:59:16 +00:00
Christoph Herzog
0533ca70e6 chore: Formatting... 2023-02-20 12:56:06 +01:00
Christoph Herzog
7968cf4f72 tests: Fix stdin handling in wasi-wast tests
Previously the stdin pipe woulnd't be closed properly, leading to the
pipe_rename test failing.
2023-02-20 12:50:03 +01:00
Johnathan Sharratt
d8c5736e91 Fixed the unit tests around the pipe object 2023-02-20 14:06:22 +11:00
Christoph Herzog
195ea89841 wasi: Rename BidiPipe to DuplexPipe and add helper methods
* Rename BidiPipe to DuplexPipe, because the name is better
* Make the fields private: gives us more flexibility in the future
* Add a split() method and accessors for send and receive
2023-02-16 20:14:59 +01:00
Christoph Herzog
2cfe241c6a refactor: Rename WasiPipe to Pipe and WasiBidirectionalPipePair to BidiPipe
The vfs is not directly tied to WASI, so naming it after wasi makes no
sense.
2023-02-10 20:22:51 +01:00
Christoph Herzog
0b6c07a5a7 wasi: Improve global tokio runtime detection in TokioTaskManager
Make sure to not create a new runtime if in an async context already.
2023-02-10 20:22:50 +01:00
Christoph Herzog
02245ce1f0 chore: Fix clippy lints 2023-02-10 11:37:36 +01:00
Christoph Herzog
ff4ccf5083 refactor(wasi): Make WasiState private
Makes the WasiState type private, and replaces it's usage with WasiEnv
where needed.

WasiState is a complex type with many implementation details, it should
not be public.
2023-02-08 16:52:30 +01:00
Christoph Herzog
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
Christoph Herzog
956ad2821a Improve WasiBuilder API
First step in improving the wasi module construction flow.
Lots of steps to follow.
2023-02-08 12:54:08 +01:00
Christoph Herzog
d1bae195b3 Merge remote-tracking branch 'origin/master' into wasix 2023-01-23 22:00:16 +01:00
Felix Schütt
4b9389cdaa Release 3.2.0-alpha.1 2023-01-23 12:52:43 +01:00
Felix Schütt
1042053b6e Revert "Fix make lint"
This reverts commit 912f21ab03.
2023-01-19 09:22:45 +01:00
Felix Schütt
a483d047de Address review comments 2023-01-18 10:45:12 +01:00
Felix Schütt
8183474d10 Adjust feature flags 2023-01-17 21:38:25 +01:00
Felix Schütt
912f21ab03 Fix make lint 2023-01-17 21:23:07 +01:00
Michael-F-Bryan
576074914a Renamed all WasiState::new() calls 2023-01-16 15:43:16 +00:00
Christoph Herzog
36623ab675 tests: Use new helper for constructing wasi(x) instances
Changed wasi-wast test instance construction to new helper.
2022-12-15 00:19:26 +01:00
Christoph Herzog
173e48601c Merge remote-tracking branch 'origin/master' into wasix 2022-12-13 01:40:22 +01:00
Felix Schütt
d45850733e Release 3.1.0 2022-12-12 13:38:00 +01:00
Christoph Herzog
eb60a96bcf Merge branch 'master' into wasix-merge 2022-12-06 13:22:09 +01:00
ptitSeb
30a7d61943 Merge branch 'master' into feat_sharedmemory 2022-11-29 14:39:45 +01:00
Felix Schütt
b70f6e9052 Release 3.0.2 2022-11-25 21:30:20 +01:00
ptitSeb
ffd6d6b140 Merge branch 'master' into feat_sharedmemory 2022-11-24 15:56:32 +01:00
Felix Schütt
27f3300fef Release 3.0.1 2022-11-23 01:14:06 +01:00
ptitSeb
3144ef2b3d Enable threads/imports test, but disabling multiple table individual tests as it's not yet supported 2022-11-22 16:01:25 +01:00
John Sharratt's Shared Account
9162b5036b cargo fmt --all 2022-11-22 14:00:25 +11:00
John Sharratt's Shared Account
0b4affaa91 - Fixed an issue where the WebC caching was active for JS
- Fixed an issue with tokio missing io-util on JS builds
- Fixed an issue where duplicate stdio file descriptors was not preserving the is_stdio flag
- Added a text file that describes a suite of integration tests for WASIX
- Added compiled WASIX programs used for testing purposes
2022-11-22 12:26:37 +11:00
Syrus Akbary
0a1a71fd6e Revert #3145
This reverst buggy commit e1e08f44b7
2022-11-21 11:09:19 -08:00
John Sharratt's Shared Account
6774f2dfae - Converted the block_on method to another trait for better code reuse
- Fixed the wasi_wast unit tests which were not async
- Fixed an issue with the stack capture and restore syscalls
- Fixed a deadlock on the event notification read syscall
- Fixed some missing stderr messages on execution failures
- Implemented some cleanup calls when a WASI process exits
- Fixed an issue where too many file descriptors were being opened when vforking
- Fixed the stdin and stdout host implementations which were not working
- Removed wai-bindgen-rust as a dependency as it does not compile on the browser (even when optional)
2022-11-21 16:58:13 +11:00
Felix Schütt
dcc0164698 Release 3.0.0 2022-11-20 17:00:03 +01:00
Felix Schütt
91c2c1daea Release 3.0.0-rc.4 2022-11-19 16:21:42 +01:00
Felix Schütt
820b83e56b Update 3.0.0-rc.2 -> 3.0.0-rc.3 2022-11-18 19:50:41 +01:00
Felix Schütt
dfd7ff41b5 Update wasmer-vfs implemenetation
* Add some new file systems
* Add tests
* General cleanup
2022-11-16 14:04:18 +01:00
John Sharratt's Shared Account
8495461105 Fixed an issue with building pirita on JS targets 2022-11-16 12:47:58 +01:00
Christoph Herzog
2b8a4e949e Formatting... 2022-11-16 12:47:01 +01:00
John Sharratt's Shared Account
c41af89e13 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-16 12:47:01 +01:00
Felix Schütt
d2364f40bb Update versions via script 2022-11-02 14:52:12 +01:00
Felix Schütt
8ee578fb5d Update package versions 2022-10-25 12:54:45 +02:00