|
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, v40.0.1, 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, v33.0.0, v32.0.0, v31.0.0, v30.0.2, v30.0.1, v30.0.0, v29.0.1, v29.0.0, v28.0.1 |
|
| #
cb51a4f2 |
| 30-Dec-2024 |
Alex Crichton <[email protected]> |
Enable introspecting pulley at runtime (#9886)
This commit includes a few assorted changes to improve detection of whether Wasmtime is using Pulley at runtime:
* A new `Engine::is_pulley` API is ad
Enable introspecting pulley at runtime (#9886)
This commit includes a few assorted changes to improve detection of whether Wasmtime is using Pulley at runtime:
* A new `Engine::is_pulley` API is added. * A new `wasmtime_engine_is_pulley` C API is added. * The `Config::target` method is now available regardless of compilation features. * The `Engine::target` method now consults the `Config` to have the same fallback logic for when a target is not explicitly configured.
cc #1980
show more ...
|
|
Revision tags: 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, v23.0.1, v23.0.0 |
|
| #
9e22c4e7 |
| 08-Jul-2024 |
Ryan Patterson <[email protected]> |
Expose Engine::clone to c-api (#8907)
|
|
Revision tags: v22.0.0, v21.0.1, 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 |
|
| #
f8fee938 |
| 29-Nov-2023 |
Tyler Rockwood <[email protected]> |
add clang format (#7601)
* add clang-format
We chose WebKit style because out of all the builtin styles it seems the closest to what already exists in wasmtime.
Signed-off-by: Tyler Rockwood <rock
add clang format (#7601)
* add clang-format
We chose WebKit style because out of all the builtin styles it seems the closest to what already exists in wasmtime.
Signed-off-by: Tyler Rockwood <[email protected]>
* c-api: don't reorder headers
The order here matters
Signed-off-by: Tyler Rockwood <[email protected]>
* c-api: apply clang-format
Signed-off-by: Tyler Rockwood <[email protected]>
* fiber: apply clang-format
Signed-off-by: Tyler Rockwood <[email protected]>
* runtime: apply clang-format
Signed-off-by: Tyler Rockwood <[email protected]>
* examples: apply clang format
Signed-off-by: Tyler Rockwood <[email protected]>
* tests: apply clang-format
Signed-off-by: Tyler Rockwood <[email protected]>
* ci: add clang-format checks
Signed-off-by: Tyler Rockwood <[email protected]>
* clang-format: keep braces on the same line
This is more the existing style
Signed-off-by: Tyler Rockwood <[email protected]>
* remove clang-format
Just use the tool defaults (LLVM)
Signed-off-by: Tyler Rockwood <[email protected]>
* Fix ci name
Signed-off-by: Tyler Rockwood <[email protected]>
* manually reformat a couple of comments
prtest:full
Signed-off-by: Tyler Rockwood <[email protected]>
* disable formatting for doc-wasm.h
Signed-off-by: Tyler Rockwood <[email protected]>
* manually reformat wasmtime.h
Signed-off-by: Tyler Rockwood <[email protected]>
* disable formatting
To prevent a link from being broken
Signed-off-by: Tyler Rockwood <[email protected]>
* examples: fixing build commands
Signed-off-by: Tyler Rockwood <[email protected]>
* fix parameter comment
Signed-off-by: Tyler Rockwood <[email protected]>
---------
Signed-off-by: Tyler Rockwood <[email protected]>
show more ...
|
|
Revision tags: 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, 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, v6.0.1, v5.0.1, v4.0.1, v6.0.0, v5.0.0, v4.0.0, v3.0.1, v3.0.0, v1.0.2, v2.0.2, v2.0.1, v2.0.0, v1.0.1, v1.0.0, v0.40.1, v0.40.0, v0.39.1, v0.38.3, v0.38.2, v0.39.0, v0.38.1, v0.38.0, v0.37.0, v0.36.0, v0.35.3, v0.34.2, v0.35.2 |
|
| #
c22033bf |
| 14-Mar-2022 |
Alex Crichton <[email protected]> |
Delete historical interruptable support in Wasmtime (#3925)
* Delete historical interruptable support in Wasmtime
This commit removes the `Config::interruptable` configuration along with
the `In
Delete historical interruptable support in Wasmtime (#3925)
* Delete historical interruptable support in Wasmtime
This commit removes the `Config::interruptable` configuration along with
the `InterruptHandle` type from the `wasmtime` crate. The original
support for adding interruption to WebAssembly was added pretty early on
in the history of Wasmtime when there was no other method to prevent an
infinite loop from the host. Nowadays, however, there are alternative
methods for interruption such as fuel or epoch-based interruption.
One of the major downsides of `Config::interruptable` is that even when
it's not enabled it forces an atomic swap to happen when entering
WebAssembly code. This technically could be a non-atomic swap if the
configuration option isn't enabled but that produces even more branch-y
code on entry into WebAssembly which is already something we try to
optimize. Calling into WebAssembly is on the order of a dozens of
nanoseconds at this time and an atomic swap, even uncontended, can add
up to 5ns on some platforms.
The main goal of this PR is to remove this atomic swap on entry into
WebAssembly. This is done by removing the `Config::interruptable` field
entirely, moving all existing consumers to epochs instead which are
suitable for the same purposes. This means that the stack overflow check
is no longer entangled with the interruption check and perhaps one day
we could continue to optimize that further as well.
Some consequences of this change are:
* Epochs are now the only method of remote-thread interruption.
* There are no more Wasmtime traps that produces the `Interrupted` trap
code, although we may wish to move future traps to this so I left it
in place.
* The C API support for interrupt handles was also removed and bindings
for epoch methods were added.
* Function-entry checks for interruption are a tiny bit less efficient
since one check is performed for the stack limit and a second is
performed for the epoch as opposed to the `Config::interruptable`
style of bundling the stack limit and the interrupt check in one. It's
expected though that this is likely to not really be measurable.
* The old `VMInterrupts` structure is renamed to `VMRuntimeLimits`.
show more ...
|