|
Revision tags: dev, v36.0.9, v44.0.1, v43.0.2, v36.0.8, v24.0.8, v44.0.0, v43.0.1, v42.0.2, v36.0.7, v24.0.7, v43.0.0, v42.0.1, v41.0.4, v42.0.0, v40.0.4, v36.0.6, v24.0.6, v41.0.3, v41.0.2, v41.0.1, v36.0.5, v40.0.3, v41.0.0, v36.0.4, v39.0.2, v40.0.2 |
|
| #
c3a6060b |
| 13-Jan-2026 |
Nick Fitzgerald <[email protected]> |
Polyfill `ToWasmtimeResult` and add eventually-necessary call sites (#12308)
* Polyfill `ToWasmtimeResult` and add eventually-necessary call sites
This commit polyfills `wasmtime_internal_error::To
Polyfill `ToWasmtimeResult` and add eventually-necessary call sites (#12308)
* Polyfill `ToWasmtimeResult` and add eventually-necessary call sites
This commit polyfills `wasmtime_internal_error::ToWasmtimeResult` in `wasmtime_environ`, adds the cargo feature plumbing that will eventually connect to the `"wasmtime_internal_error/anyhow"` cargo feature but for now just configures this polyfill, and adds uses of the polyfill at all the sites that will be necessary once we swap out `anyhow` for `wasmtime_internal_error`. Currently, the polyfill is just an identity function, because `wasmtime::Result`/`wasmtime_environ::error::Result` is just another name for `anyhow::Result`. Once we do move away from `anyhow`, however, that will no longer be the case, and these uses will do the necessary conversion.
My goal with landing this as an incremental commit is to make it so that the actual commit that does the error crate swap out can be as close to _just_ the `Cargo.toml` dependency change, without any other code changes as much as possible. This, in turn, means that swap out should be super easy to revert, if necessary.
* Add a couple more `.to_wasmtime_result()` invocations in fuzz code
* Revert "Add a couple more `.to_wasmtime_result()` invocations in fuzz code"
This reverts commit b33696e5f63f7eed731ca9dad10fec5e55a550d3.
* Move cranelift fuzz targets back to anyhow
* Fix cargo feature enablement for explorer
show more ...
|
|
Revision tags: v40.0.1 |
|
| #
d634dffa |
| 07-Jan-2026 |
Nick Fitzgerald <[email protected]> |
Migrate explorer to `wasmtime::error` (#12262)
|
|
Revision tags: v40.0.0, v39.0.1, v39.0.0, v38.0.4, v37.0.3, v36.0.3, v24.0.5, v38.0.3, v38.0.2, v38.0.1, v37.0.2, v37.0.1, v37.0.0, v36.0.2, v36.0.1, v36.0.0, v35.0.0, v24.0.4, v33.0.2, v34.0.2, v34.0.1, v33.0.1, v24.0.3, v32.0.1, v34.0.0 |
|
| #
4c8edb95 |
| 06-Jun-2025 |
Alex Crichton <[email protected]> |
More clearly flag internal crates as such (#10963)
* More clearly flag internal crates as such
This commit is an attempt to more clearly flag internal crates in this project as internal and not int
More clearly flag internal crates as such (#10963)
* More clearly flag internal crates as such
This commit is an attempt to more clearly flag internal crates in this project as internal and not intended for external use. Specifically:
* Many crates are renamed from `wasmtime-foo` to `wasmtime-internal-foo`. * All of these crates now have `INTERNAL: ...` in their crates.io description. * All of these crates now have a warning at the top of their documentation discouraging use.
This change is a result of rustsec/advisory-db#1999 where the goal is to be crystal clear from a project perspective that usage of these crates are highly discouraged and not supported. We'll still probably get such advisories but we won't be considering them CVEs from the project itself due to the internal nature of these crates and the discouraging warnings.
Some concrete changes used here are:
* Inter-crate dependencies still use `wasmtime_foo` for naming and do so with Cargo's package-renaming features. * Crate renames are specified at the workspace level so the rename is only in one locations and all other inherit it. * Contribution documentation now has some brief guidelines about crate organization.
* Update vet config
* Update checks for wasmtime-fiber
prtest:full
* Update publish script
* Another fiber rename
* Fix some doc tests
show more ...
|
|
Revision tags: v33.0.0 |
|
| #
90ac295e |
| 19-May-2025 |
Alex Crichton <[email protected]> |
Update Wasmtime to the 2024 Rust Edition (#10806)
* Update Wasmtime to the 2024 Rust Edition
Now that our MSRV supports the 2024 edition it's possible to make this switch. This commit moves Wasmtim
Update Wasmtime to the 2024 Rust Edition (#10806)
* Update Wasmtime to the 2024 Rust Edition
Now that our MSRV supports the 2024 edition it's possible to make this switch. This commit moves Wasmtime to the 2024 Edition to keep up-to-date with Rust idioms and access many of the edition features exclusive to the 2024 edition.
prtest:full
* Reformat with the 2024 edition
show more ...
|
|
Revision tags: v32.0.0, v31.0.0, v30.0.2, v30.0.1, v30.0.0, v29.0.1, v29.0.0, v28.0.1, v28.0.0, v27.0.0, v26.0.1, v25.0.3, v24.0.2, v26.0.0, v21.0.2, v22.0.1, v23.0.3, v25.0.2, v24.0.1, v25.0.1, v25.0.0, v24.0.0, v23.0.2 |
|
| #
ede670dd |
| 23-Jul-2024 |
Vulcain <[email protected]> |
CLIF in explorer (#8972)
* clif in wasmtime explore
* clif in wasmtime explore: do not continue if clif directory exists
* clif in explorer: run prettier
* explorer: use flex instead of width
*
CLIF in explorer (#8972)
* clif in wasmtime explore
* clif in wasmtime explore: do not continue if clif directory exists
* clif in explorer: run prettier
* explorer: use flex instead of width
* explorer: fix scrolling
* explorer: use temp directory for clif
* explorer: tempfile is an optional dependency
* clif in explorer: do not display clif if compiling with winch
show more ...
|
|
Revision tags: v23.0.1, v23.0.0 |
|
| #
896e25e3 |
| 21-Jun-2024 |
Pat Hickey <[email protected]> |
upgrade to wasm-tools 0.211.1 (#8838)
* upgrade to wasm-tools 0.211.1
* code review
* cargo vet: auto imports
* fuzzing: fix wasm-smith changes
* fuzzing: changes for HeapType
* Configure featu
upgrade to wasm-tools 0.211.1 (#8838)
* upgrade to wasm-tools 0.211.1
* code review
* cargo vet: auto imports
* fuzzing: fix wasm-smith changes
* fuzzing: changes for HeapType
* Configure features on `Parser` when parsing
---------
Co-authored-by: Alex Crichton <[email protected]>
show more ...
|
|
Revision tags: v22.0.0, v21.0.1 |
|
| #
f9946472 |
| 21-May-2024 |
L. Pereira <[email protected]> |
Show function names in explore tool instead of only function indices (#8639)
* Implement runtime::Module::function_locations_with_names()
Map the iterator returned by Module::function_locations() t
Show function names in explore tool instead of only function indices (#8639)
* Implement runtime::Module::function_locations_with_names()
Map the iterator returned by Module::function_locations() to another one that returns a 3-tuple containing the function name, the offset, and the length of each function defined in this particular module.
* Show function names in "explore" instead of just the indices
* Address review: Change iterator format
* Address review: use the new iterator struct
* Address review comments
show more ...
|
|
Revision tags: v21.0.0, v20.0.2, v20.0.1, v20.0.0, v17.0.3, v19.0.2, v18.0.4, v19.0.1, v19.0.0, v18.0.3, v18.0.2, v17.0.2, v18.0.1, v18.0.0, v17.0.1, v17.0.0, v16.0.0, v15.0.1, v15.0.0, v14.0.4, v14.0.3, v14.0.2, v13.0.1, v14.0.1, v14.0.0, minimum-viable-wasi-proxy-serve, v13.0.0, v12.0.2, v11.0.2, v10.0.2 |
|
| #
9ec02f9d |
| 29-Aug-2023 |
Christopher Serr <[email protected]> |
Decouple `serde` from its `derive` crate (#6917)
By not activating the `derive` feature on `serde`, the compilation speed can be improved by a lot. This is because `serde` can then compile in parall
Decouple `serde` from its `derive` crate (#6917)
By not activating the `derive` feature on `serde`, the compilation speed can be improved by a lot. This is because `serde` can then compile in parallel to `serde_derive`, allowing it to finish compilation possibly even before `serde_derive`, unblocking all the crates waiting for `serde` to start compiling much sooner.
As it turns out the main deciding factor for how long the compile time of a project is, is primarly determined by the depth of dependencies rather than the width. In other words, a crate's compile times aren't affected by how many crates it depends on, but rather by the longest chain of dependencies that it needs to wait on. In many cases `serde` is part of that long chain, as it is part of a long chain if the `derive` feature is active:
`proc-macro2` compile build script > `proc-macro2` run build script > `proc-macro2` > `quote` > `syn` > `serde_derive` > `serde` > `serde_json` (or any crate that depends on serde)
By decoupling it from `serde_derive`, the chain is shortened and compile times get much better.
Check this issue for a deeper elaboration: https://github.com/serde-rs/serde/issues/2584
For `wasmtime` I'm seeing a reduction from 24.75s to 22.45s when compiling in `release` mode. This is because wasmtime through `gimli` has a dependency on `indexmap` which can only start compiling when `serde` is finished, which you want to happen as early as possible so some of wasmtime's dependencies can start compiling.
To measure the full effect, the dependencies can't by themselves activate the `derive` feature. I've upstreamed a patch for `fxprof-processed-profile` which was the only dependency that activated it for `wasmtime` (not yet published to crates.io). `wasmtime-cli` and co. may need patches for their dependencies to see a similar improvement.
show more ...
|
|
Revision tags: v12.0.1, v12.0.0, v11.0.1, v11.0.0, v10.0.1, v10.0.0, v9.0.4, v9.0.3, v9.0.2, v9.0.1, v9.0.0, v6.0.2, v7.0.1, v8.0.1, v8.0.0, v7.0.0 |
|
| #
af7ef8df |
| 11-Mar-2023 |
Alex Crichton <[email protected]> |
Fix some minor issues with the `explorer` command (#5988)
This commit fixes a few minor issues that Nick and I ran into walking through some code with the `wasmtime explore` command:
* When a new f
Fix some minor issues with the `explorer` command (#5988)
This commit fixes a few minor issues that Nick and I ran into walking through some code with the `wasmtime explore` command:
* When a new function is reached the address map iterator is advanced past the prior function to avoid accidentally attributing instructions across functions.
* A `<` comparison was changed to `<=` to fix some off-by-one attributions from instructions to wasm instructions.
* The `skipdata` option is enabled in Capstone to avoid truncating AArch64 disassemblies too early.
show more ...
|
| #
9ed441e6 |
| 11-Mar-2023 |
Nick Fitzgerald <[email protected]> |
Introduce the `wasmtime-explorer` crate (#5975)
This implements Godbolt Compiler Explorer-like functionality for Wasmtime and Cranelift. Given a Wasm module, it compiles the module to native code an
Introduce the `wasmtime-explorer` crate (#5975)
This implements Godbolt Compiler Explorer-like functionality for Wasmtime and Cranelift. Given a Wasm module, it compiles the module to native code and then writes a standalone HTML file that gives a split pane view between the WAT and ASM disassemblies.
show more ...
|