Commit Graph

399 Commits

Author SHA1 Message Date
Felix Schütt
b96f3546d6 Drop unnecessary loop labels 2022-10-13 18:57:11 +02:00
Felix Schütt
04b5c431e3 Lazy-return string on Error 2022-10-13 18:55:48 +02:00
Felix Schütt
7edfd68759 cargo fmt 2022-10-07 13:44:08 +02:00
Felix Schütt
3be8640a5f Added --env flags for emscripten target, debugged PYTHONHOME 2022-10-06 20:04:42 +02:00
Felix Schütt
5238c8e56b Fix errors in debug mode, implement getenv / setenv on emscripten
This makes it possible to inject custom environment variables
because the EmscriptenState is now sandboxed and decoupled from
the host.
2022-10-06 19:02:55 +02:00
Felix Schütt
6988025cd0 Fix make lint 2022-08-23 15:24:13 +02:00
ptitSeb
43581f0803 Fix Windows build 2022-08-12 11:16:59 +02:00
ptitSeb
7ec2d603bf MemoryView lifetime tied to memory and not StoreRef 2022-08-11 17:00:47 +02:00
Felix Schütt
520314bbf0 Fix errors from "make lint" 2022-08-05 15:40:32 +02:00
Wolfgang Silbermayr
a6022af980 Fix clippy lints 2022-08-05 14:27:44 +02:00
Wolfgang Silbermayr
9c7b4343ea rustfmt 2022-08-05 14:27:44 +02:00
Wolfgang Silbermayr
7df3e3ca23 Rename {native,typed} functions, reintroduce *_with_env variants 2022-08-05 14:27:44 +02:00
John Sharratt's Shared Account
5aa356f222 Fixed a memory corruption issue with JS memory operations that were reusing invalid views 2022-07-31 20:31:41 +10: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
168e330260 Renamed get_native_function to get_typed_function, marked former as deprecated. 2022-07-19 15:31:51 +03:00
ptitSeb
84225773ee Migrated Emscripten/Windows to new Context API 2022-07-19 15:31:51 +03:00
ptitSeb
bc58b713db Migrate wasmer-cli to new Context API 2022-07-19 15:31:51 +03:00
ptitSeb
cf85615e55 Ported Emscripten to new Context API 2022-07-19 15:31:51 +03:00
Felix Schütt
d2eb26c209 Rework run() to work with python37.emscripten.wasm 2022-07-12 11:38:37 +03:00
Felix Schütt
529e46d988 Support --invoke option for emscripten files without _start function 2022-07-12 11:38:37 +03:00
Wolfgang Silbermayr
fa51a29bf6 Fix build error on some archs by using c_char instead of i8 2022-06-10 10:47:28 +03:00
Wolfgang Silbermayr
5339f7cdae Fix clippy lints
Fixes: #2926
2022-06-09 16:05:53 +02:00
Wolfgang Silbermayr
da4e9fe617 Rename NativeFunc to TypedFunction
Closes: #2915
2022-06-08 14:12:51 +03:00
Manos Pitsidianakis
8aa225a192 api/sys: Replace ImportObject with new type Imports 2022-06-08 14:09:40 +03:00
Amanieu d'Antras
714bac5650 Redesign the API for accessing the contents of a Wasm memory 2022-06-08 14:09:38 +03: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
Julius Michaelis
24abeccccb Avoid deadlocks in emscripten dyn calls
Do not hold locks on EmEnv's EmscriptenData into the actual call into the module
2022-01-27 23:06:35 +09:00
Julius Michaelis
75cfdaa6ca dyn_call_j*: deduplicate by macro 2022-01-27 23:04:04 +09:00
Amanieu d'Antras
4924a7c22a Update examples that use RuntimeError::custom to use return a custom
error type directly.
2021-12-20 16:27:24 +01:00
Amanieu d'Antras
17c0834abf Replace RuntimeError::raise with RuntimeError::custom 2021-12-18 00:34:44 +01:00
ptitSeb
6f4cdb6356 fix linting 2021-10-19 14:53:43 +02:00
ptitSeb
300ef7bcec cosmetic changes 2021-10-19 14:50:56 +02:00
ptitSeb
c196d68f92 Improved CLOCK_MONOTONIC fix 2021-10-19 11:07:45 +02:00
ptitSeb
802721c659 fix CLOCK_MONOTONIC to actually be monotonic 2021-10-19 10:01:41 +02:00
ptitSeb
e476823fbb Update time crate to 0.2+ version 2021-10-18 15:49:24 +02:00
Alexey Shekhirin
2a4ac7a135 chore(examples, emscripten): fix warnings 2021-08-28 19:45:09 +03:00
Nathan Horrigan
6ddc2f6454 Add iOS support for Headless Wasmer 2021-08-21 10:21:37 +01:00
Syrus Akbary
1a8952e2fa Improved API based on feedback 2021-07-01 18:29:31 -07:00
Syrus Akbary
20a7136e61 Fixed emscripten 2021-06-24 16:15:44 -07:00
k-nasa
40ee361586 fix favicon 2021-04-24 15:34:44 +09:00
Mark McCaskey
065bfb35bc Fix emscripten table being init'd with externref::null 2021-04-14 07:56:12 -07:00
Mark McCaskey
1e669bef2a Fix UB in setting memory in emscripten EmEnv 2021-04-14 07:51:04 -07:00
Mark McCaskey
8149453ff5 Merge branch 'master' into feature/reference-types 2021-03-31 08:42:26 -07:00
François Garillot
b832de05df Simplifies a few pattern-matches
... which have a direct combinator equivalent on Option / Result.

Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust).
2021-03-24 07:18:26 -07:00
Mark McCaskey
7b8c5b3554 More work on reference types -- wip 2021-02-09 10:54:26 -08:00
Mark McCaskey
6cfcc92d52 Implement further for compiler-cranelift; add ExternRef 2021-02-08 12:49:15 -08:00
Nick Lewycky
91d399e8f4 Apply cleanups proposed by clippy. 2021-01-26 16:02:22 -08:00
Mark McCaskey
6d7bc30261 Improve WasmerEnv, fix emscripten with new features 2021-01-11 12:27:19 -08:00
Mark McCaskey
34072cbf6f Make WasmPtr::get_utf8_string return String
The old functionality is readded as an `unsafe` method,
`WasmPtr::get_utf8_str`.

It's important to note that `WasmPtr::get_utf8_string` isn't _entirely_
sound and technically should be marked `unsafe` as well, but this change
is a massive improvement over what we had before.

For future reference, the reason `WasmPtr::get_utf8_string` still has some
soundness issues is that we can't guarantee exclusive access to the memory
while parsing in the string, we temporarily hold a `&[u8]` and hope it
doesn't get mutated. It's possible to implement this method in a more
correct way by copying each byte as we read it into a `Vec` and converting
that into a String.
2021-01-04 07:23:08 -08:00
Mark McCaskey
8081aaeee4 Add WasmerEnv: Sync 2020-12-15 13:43:37 -08:00