<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in generators.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>46780983 - Exceptions: add exception-specific (command-sequence) fuzzer. (#12923)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#46780983</link>
        <description>Exceptions: add exception-specific (command-sequence) fuzzer. (#12923)* Exceptions: add exception-specific (command-sequence) fuzzer.This fuzzer uses a description of a set of &quot;scenarios&quot;, arbitrarilygenerated, to produce a specific kind of module that tests throw/catchbehavior. The module contains a chain of functions that invoke eachother; one will throw, and the rest may have catch clauses that do ordo not catch.* Review feedback.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Wed, 01 Apr 2026 22:26:11 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>fee9be21 - Add a new fuzzer focused on component-model-async events (#12119)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#fee9be21</link>
        <description>Add a new fuzzer focused on component-model-async events (#12119)* Add a new fuzzer focused on component-model-async eventsThis commit adds a new fuzzer mode to the `misc` fuzzer of Wasmtimewhich is focused on async events and interleavings of components usingthe component-model-async proposal. This fuzzer works by having aprecompiled guest program which serves as the component to run. Thisprecompiled component has a custom `fuzz.wit` which is used to interfacewith the fuzzer itself. The fuzzer is then a fuzz-generated sequence ofcommands to send to the component which verifies that everythingexecutes correctly, has no panics, etc.This fuzzer intends to stress async communication and taskinfrastructure with component-model-async. Notably this does not stresslifting/lowering or arbitrary type signatures. This does, however,permute all of the following:* Guest/host interactions (also guest/guest, host/host, etc).* Async functions, both ready and pending.* Future operations: reads, writes, cancellation, transfers, etc.* Stream operations: reads, writes, cancellation, transfers, etc.This is all throwing into a large &quot;soup&quot; and then asserted to workcorrectly. There&apos;s a few gotchas here and there for how this fuzzer isdesigned, such as some events requiring &quot;yield N times to await thisevent happening&quot;. This is required because Wasmtime is allowed tonon-deterministically select between a number of &quot;ready events&quot; and whatto dispatch.This is not intended to be a one-size-fits-all fuzzer forcomponent-model-async. The recent enhancements to the `component_api`fuzzer are intended to complement this fuzzer in terms of what&apos;sstressed where internally.* Review comments

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Tue, 09 Dec 2025 19:32:20 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>5730c760 - Improve `Config`-related coverage of `component_api` (#12049)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#5730c760</link>
        <description>Improve `Config`-related coverage of `component_api` (#12049)This commit improves the preexisting `component_api` fuzz target to usearbitrary `Config` data. This, for example, helps exercise Pulley inaddition to native. In general this also helps stress and ensure that noconfig knobs are accidentally breaking ABI assumptions.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Fri, 21 Nov 2025 17:04:17 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>b6f59f05 - Split modules (#11993)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#b6f59f05</link>
        <description>Split modules (#11993)* Split GC to different modules and rename table_ops to gc_ops* Remove table_ops from fuzz_targets. Renamed to gc_ops* Address formatting failures

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Fri, 07 Nov 2025 17:09:47 +0000</pubDate>
        <dc:creator>Khagan (Khan) Karimov &lt;127453117+khagankhan@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>7878c7cc - Remove &quot;unaligned&quot; memory from fuzzing (#11147)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#7878c7cc</link>
        <description>Remove &quot;unaligned&quot; memory from fuzzing (#11147)This commit removes the configuration knob used during fuzzing to use acustom host memory which is always unaligned on the host. The originalintention for this was to help catch issues related to alignment in thex64 backend about, for example, performing unaligned SSE loads correctly(as opposed to accidentally faulting on unaligned addresses).As shown in the test failures of #11142, however, this is technically UBfor other parts of Wasmtime that assume the heap addresses are alwaysaligned. For example Wasmtime will create safe references in to a GCheap and GC heaps are also allocated with this same allocator, meaningthat Rust-safe references are unaligned (which is UB).In practice I&apos;m not aware of any actual issues this configuration optionhas ever discovered, and we&apos;ve otherwise discovered alignment issues vianormal fuzzing as well. Given that I think it&apos;s best to just jettisonthis entirely and stop trying to support it and/or tweak configurationto only use it when supported or similar.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Fri, 27 Jun 2025 16:45:54 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>7a37e313 - Add a fuzz target for exercising bounds checks with various memory configs (#8742)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#7a37e313</link>
        <description>Add a fuzz target for exercising bounds checks with various memory configs (#8742)

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Thu, 06 Jun 2024 13:47:19 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b4ecea38 - Add a fuzzer for async wasm (#8440)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#b4ecea38</link>
        <description>Add a fuzzer for async wasm (#8440)* Add a fuzzer for async wasmThis commit revives a very old branch of mine to add a fuzzer forWasmtime in async mode. This work was originally blocked onllvm/llvm-project#53891 and while that&apos;s still an issue it now containsa workaround for that issue. Support for async fuzzing required a gooddeal of refactorings and changes, and the highlights are:* The main part is that new intrinsics,  `__sanitizer_{start,finish}_fiber_switch` are now invoked around the  stack-switching routines of fibers. This only works on Unix and is set  to only compile when ASAN is enabled (otherwise everything is a noop).  This required refactoring of things to get it all in just the right  way for ASAN since it appears that these functions not only need to be  called but more-or-less need to be adjacent to each other in the code.  My guess is that while we&apos;re switching ASAN is in a &quot;weird state&quot; and  it&apos;s not ready to run arbitrary code.* Stacks are a problem. The above issue in LLVM outlines how stacks  cannot be deallocated at this time because if the deallocated virtual  memory is later used for the heap then ASAN will have a false positive  about stack overflow. To handle this stacks are specially handled in  asan mode by using a special allocation path that never deallocates  stacks. This logic additionally applies to the pooling allocator which  uses a different stack allocation strategy with ASAN.With all of the above a new fuzzer is added. This fuzzer generates anarbitrary module, selects an arbitrary means of async (e.g.epochs/fuel), and then tries to execute the exports of the module withvarious values. In general the fuzzer is looking for crashes/panics asopposed to correct answers as there&apos;s no oracle here. This is alsointended to stress the code used to switch on and off stacks.* Fix non-async build* Remove unused import* Review comments* Fix compile on MIRI* Fix Windows build

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Tue, 23 Apr 2024 19:18:09 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>1898b8c7 - Run all `*.wast` tests in fuzzing (#8121)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#1898b8c7</link>
        <description>Run all `*.wast` tests in fuzzing (#8121)* Run all `*.wast` tests in fuzzingCurrently we have a `spectest` fuzzer which uses fuzz input to generatean arbitrary configuration for Wasmtime and then executes the spec test.This ensures that no matter the configuration Wasmtime can pass spectests. This commit expands this testing to include all `*.wast` tests wehave in this repository. While we don&apos;t have a ton we still have somesignificant ones like in #8118 which will only reproduce when turningknobs on CPU features.* Fix CLI build* Fix wast testing

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Wed, 13 Mar 2024 20:39:03 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>a61be19d - winch(fuzz): Refactor Winch&apos;s fuzzing (#6432)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#a61be19d</link>
        <description>winch(fuzz): Refactor Winch&apos;s fuzzing (#6432)* winch(fuzz): Refactor Winch&apos;s fuzzingThis change is a follow-up to the discussion inhttps://github.com/bytecodealliance/wasmtime/pull/6281.The most notable characteristic of this change is that it enables`winch` by default in the fuzzers. If compilation time is a big enoughconcern I can add the cargo feature back. I opted to enable `winch` bydefault for several reasons:* It substantially reduces the `cfg` complexity -- at first I thought  I had covered all the places in which a `cfg` check would be needed,  but then I realized that I missed the Cranelift specific compiler  flags.* It&apos;s the fastest route to enable winch by default in the fuzzers,  which we want to do eventually -- the only change we&apos;d need at that  point would be to get rid of the winch-specific environment variable.* We can get rid of the winch-specific checks in CI for fuzzing* Implement Arbitraty for CompilerStrategyUnconditionally return `Cranelift` for the `Arbitrary` implementation of`CompilerStrategy`. This ensures that `Cranelift` is used as thecompiler for all the targets unless explicitly requested otherwise. Asof this change, only the differential target overrides the`CompilerStrategy`

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Tue, 23 May 2023 13:32:08 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a1732b29 - winch(fuzz): Initial support for differential fuzzing (#6281)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#a1732b29</link>
        <description>winch(fuzz): Initial support for differential fuzzing (#6281)* winch(fuzz): Initial support for differential fuzzingThis commit introduces initial support for differential fuzzing for Winch. Inorder to fuzz winch, this change introduces the `winch` cargo feature. When the`winch` cargo feature is enabled the differential fuzz target uses `wasmi` asthe differential engine and `wasm-smith` and `single-inst` as the module sources.The intention behind this change is to have a *local* approach for fuzzing andverifying programs generated by Winch and to have an initial implementation thatwill allow us to eventually enable this change by default. Currently it&apos;s notworth it to enable this change by default given all the filtering that needs tohappen to ensure that the generated modules are supported by Winch.It&apos;s worth noting that the Wasm filtering code will be temporary, until Winchreaches feature parity in terms of Wasm operators.* Check build targets with the `winch` feature flag* Rename fuzz target feature to `fuzz-winch`

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Tue, 25 Apr 2023 03:56:24 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b14551d7 - Refactor configuration for the pooling allocator (#5205)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#b14551d7</link>
        <description>Refactor configuration for the pooling allocator (#5205)This commit changes the APIs in the `wasmtime` crate for configuring thepooling allocator. I plan on adding a few more configuration options inthe near future and the current structure was feeling unwieldy foradding these new abstractions.The previous `struct`-based API has been replaced with a builder-styleAPI in a similar shape as to `Config`. This is done to help make iteasier to add more configuration options in the future through addingmore methods as opposed to adding more field which could break priorinitializations.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Fri, 04 Nov 2022 20:06:45 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>5ec92d59 - [fuzz] Add a meta-differential fuzz target (#4515)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#5ec92d59</link>
        <description>[fuzz] Add a meta-differential fuzz target (#4515)* [fuzz] Add `Module` enum, refactor `ModuleConfig`This change adds a way to create either a single-instruction module or aregular (big) `wasm-smith` module. It has some slight refactorings inpreparation for the use of this new code.* [fuzz] Add `DiffValue` for differential evaluationIn order to evaluate functions with randomly-generated values, we neededa common way to generate these values. Using the Wasmtime `Val` type isnot great because we would like to be able to implement various traitson the new value type, e.g., to convert `Into` and `From` boxed valuesof other engines we differentially fuzz against. This new type,`DiffValue`, gives us a common ground for all the conversions andcomparisons between the other engine types.* [fuzz] Add interface for differential enginesIn order to randomly choose an engine to fuzz against, we expect all ofthe engines to meet a common interface. The traits in this commit allowus to instantiate a module from its binary form, evaluate exportedfunctions, and (possibly) hash the exported items of the instance.This change has some missing pieces, though: - the `wasm-spec-interpreter` needs some work to be able to create   instances, evaluate a function by name, and expose exported items - the `v8` engine is not implemented yet due to the complexity of its   Rust lifetimes* [fuzz] Use `ModuleFeatures` instead of existing configurationWhen attempting to use both wasm-smith and single-instruction modules,there is a mismatch in how we communicate what an engine must be able tosupport. In the first case, we could use the `ModuleConfig`, a wrapperfor wasm-smith&apos;s `SwarmConfig`, but single-instruction modules do nothave a `SwarmConfig`--the many options simply don&apos;t apply. Here, weinstead add `ModuleFeatures` and adapt a `ModuleConfig` to that.`ModuleFeatures` then becomes the way to communicate what features anengine must support to evaluate functions in a module.* [fuzz] Add a new fuzz target using the meta-differential oracleThis change adds the `differential_meta` target to the list of fuzztargets. I expect that sometime soon this could replace the other`differential*` targets, as it almost checks all the things those check.The major missing piece is that currently it only choosessingle-instruction modules instead of also generating arbitrary modulesusing `wasm-smith`.Also, this change adds the concept of an ignorable error: somedifferential engines will choke with certain inputs (e.g., `wasmi` mighthave an old opcode mapping) which we do not want to flag as fuzz bugs.Here we wrap those errors in `DiffIgnoreError` and then use a new helpertrait, `DiffIgnorable`, to downcast and inspect the `anyhow` error toonly panic on non-ignorable errors; the ignorable errors are convertedto one of the `arbitrary::Error` variants, which we already ignore.* [fuzz] Compare `DiffValue` NaNs more lenientlyBecause arithmetic NaNs can contain arbitrary payload bits, checkingthat two differential executions should produce the same result shouldrelax the comparison of the `F32` and `F64` types (and eventually `V128`as well... TODO). This change adds several considerations, however, sothat in the future we make the comparison a bit stricter, e.g., re:canonical NaNs. This change, however, just matches the current logicused by other fuzz targets.* review: allow hashing mutate the instance state@alexcrichton requested that the interface be adapted to accommodateWasmtime&apos;s API, in which even reading from an instance could triggermutation of the store.* review: refactor where configurations are made compatibleSee @alexcrichton&apos;s[suggestion](https://github.com/bytecodealliance/wasmtime/pull/4515#discussion_r928974376).* review: convert `DiffValueType` using `TryFrom`See @alexcrichton&apos;s[comment](https://github.com/bytecodealliance/wasmtime/pull/4515#discussion_r928962394).* review: adapt target implementation to Wasmtime-specific RHSThis change is joint work with @alexcrichton to adapt the structure ofthe fuzz target to his comments[here](https://github.com/bytecodealliance/wasmtime/pull/4515#pullrequestreview-1073247791).This change:- removes `ModuleFeatures` and the `Module` enum (for big and small  modules)- upgrades `SingleInstModule` to filter out cases that are not valid for  a given `ModuleConfig`- adds `DiffEngine::name()`- constructs each `DiffEngine` using a `ModuleConfig`, eliminating  `DiffIgnoreError` completely- prints an execution rate to the `differential_meta` targetStill TODO:- `get_exported_function_signatures` could be re-written in terms of the  Wasmtime API instead `wasmparser`- the fuzzer crashes eventually, we think due to the signal handler  interference between OCaml and Wasmtime- the spec interpreter has several cases that we skip for now but could  be fuzzed with further workCo-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;* fix: avoid SIGSEGV by explicitly initializing OCaml runtime first* review: use Wasmtime&apos;s API to retrieve exported functionsCo-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Fri, 19 Aug 2022 00:22:58 +0000</pubDate>
        <dc:creator>Andrew Brown &lt;andrew.brown@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>ed8908ef - implement fuzzing for component types (#4537)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#ed8908ef</link>
        <description>implement fuzzing for component types (#4537)This addresses #4307.For the static API we generate 100 arbitrary test cases at build time, each ofwhich includes 0-5 parameter types, a result type, and a WAT fragment containingan imported function and an exported function.  The exported function calls theimported function, which is implemented by the host.  At runtime, the fuzz testselects a test case at random and feeds it zero or more sets of arbitraryparameters and results, checking that values which flow host-to-guest andguest-to-host make the transition unchanged.The fuzz test for the dynamic API follows a similar pattern, the only differencebeing that test cases are generated at runtime.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Thu, 04 Aug 2022 17:02:55 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>46782b18 - `wasmtime`: Implement fast Wasm stack walking (#4431)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#46782b18</link>
        <description>`wasmtime`: Implement fast Wasm stack walking (#4431)* Always preserve frame pointers in WasmtimeThis allows us to efficiently and simply capture Wasm stacks without maintainingand synchronizing any safety-critical side tables between the compiler and theruntime.* wasmtime: Implement fast Wasm stack walkingWhy do we want Wasm stack walking to be fast? Because we capture stacks wheneverthere is a trap and traps actually happen fairly frequently with short-livedprograms and WASI&apos;s `exit`.Previously, we would rely on generating the system unwind info (e.g.`.eh_frame`) and using the system unwinder (via the `backtrace`crate) to walkthe full stack and filter out any non-Wasm stack frames. This can,unfortunately, be slow for two primary reasons:1. The system unwinder is doing `O(all-kinds-of-frames)` work rather than`O(wasm-frames)` work.2. System unwind info and the system unwinder need to be much more general thana purpose-built stack walker for Wasm needs to be. It has to handle any kind ofstack frame that any compiler might emit where as our Wasm frames are emitted byCranelift and always have frame pointers. This translates into implementationcomplexity and general overhead. There can also be unnecessary-for-our-use-casesglobal synchronization and locks involved, further slowing down stack walking inthe presence of multiple threads trying to capture stacks in parallel.This commit introduces a purpose-built stack walker for traversing just our Wasmframes. To find all the sequences of Wasm-to-Wasm stack frames, and ignorenon-Wasm stack frames, we keep a linked list of `(entry stack pointer, exitframe pointer)` pairs. This linked list is maintained via Wasm-to-host andhost-to-Wasm trampolines. Within a sequence of Wasm-to-Wasm calls, we can useframe pointers (which Cranelift preserves) to find the next older Wasm frame onthe stack, and we keep doing this until we reach the entry stack pointer,meaning that the next older frame will be a host frame.The trampolines need to avoid a couple stumbling blocks. First, they need to becompiled ahead of time, since we may not have access to a compiler atruntime (e.g. if the `cranelift` feature is disabled) but still want to be ableto call functions that have already been compiled and get stack traces for thosefunctions. Usually this means we would compile the appropriate trampolinesinside `Module::new` and the compiled module object would hold thetrampolines. However, we *also* need to support calling host functions that arewrapped into `wasmtime::Func`s and there doesn&apos;t exist *any* ahead-of-timecompiled module object to hold the appropriate trampolines:```rust// Define a host function.let func_type = wasmtime::FuncType::new(    vec![wasmtime::ValType::I32],    vec![wasmtime::ValType::I32],);let func = Func::new(&amp;mut store, func_type, |_, params, results| {    // ...    Ok(())});// Call that host function.let mut results = vec![wasmtime::Val::I32(0)];func.call(&amp;[wasmtime::Val::I32(0)], &amp;mut results)?;```Therefore, we define one host-to-Wasm trampoline and one Wasm-to-host trampolinein assembly that work for all Wasm and host function signatures. Thesetrampolines are careful to only use volatile registers, avoid touching anyregister that is an argument in the calling convention ABI, and tail call to thetarget callee function. This allows forwarding any set of arguments and anyreturns to and from the callee, while also allowing us to maintain our linkedlist of Wasm stack and frame pointers before transferring control to thecallee. These trampolines are not used in Wasm-to-Wasm calls, only when crossingthe host-Wasm boundary, so they do not impose overhead on regular calls. (And ifusing one trampoline for all host-Wasm boundary crossing ever breaks branchprediction enough in the CPU to become any kind of bottleneck, we can do funthings like have multiple copies of the same trampoline and choose a random copyfor each function, sharding the functions across branch predictor entries.)Finally, this commit also ends the use of a synthetic `Module` and allocating astubbed out `VMContext` for host functions. Instead, we define a`VMHostFuncContext` with its own magic value, similar to `VMComponentContext`,specifically for host functions.&lt;h2&gt;Benchmarks&lt;/h2&gt;&lt;h3&gt;Traps and Stack Traces&lt;/h3&gt;Large improvements to taking stack traces on traps, ranging from shaving off 64%to 99.95% of the time it used to take.&lt;details&gt;```multi-threaded-traps/0  time:   [2.5686 us 2.5808 us 2.5934 us]                        thrpt:  [0.0000  elem/s 0.0000  elem/s 0.0000  elem/s]                 change:                        time:   [-85.419% -85.153% -84.869%] (p = 0.00 &lt; 0.05)                        thrpt:  [+560.90% +573.56% +585.84%]                        Performance has improved.Found 8 outliers among 100 measurements (8.00%)  4 (4.00%) high mild  4 (4.00%) high severemulti-threaded-traps/1  time:   [2.9021 us 2.9167 us 2.9322 us]                        thrpt:  [341.04 Kelem/s 342.86 Kelem/s 344.58 Kelem/s]                 change:                        time:   [-91.455% -91.294% -91.096%] (p = 0.00 &lt; 0.05)                        thrpt:  [+1023.1% +1048.6% +1070.3%]                        Performance has improved.Found 6 outliers among 100 measurements (6.00%)  1 (1.00%) high mild  5 (5.00%) high severemulti-threaded-traps/2  time:   [2.9996 us 3.0145 us 3.0295 us]                        thrpt:  [660.18 Kelem/s 663.47 Kelem/s 666.76 Kelem/s]                 change:                        time:   [-94.040% -93.910% -93.762%] (p = 0.00 &lt; 0.05)                        thrpt:  [+1503.1% +1542.0% +1578.0%]                        Performance has improved.Found 5 outliers among 100 measurements (5.00%)  5 (5.00%) high severemulti-threaded-traps/4  time:   [5.5768 us 5.6052 us 5.6364 us]                        thrpt:  [709.68 Kelem/s 713.63 Kelem/s 717.25 Kelem/s]                 change:                        time:   [-93.193% -93.121% -93.052%] (p = 0.00 &lt; 0.05)                        thrpt:  [+1339.2% +1353.6% +1369.1%]                        Performance has improved.multi-threaded-traps/8  time:   [8.6408 us 9.1212 us 9.5438 us]                        thrpt:  [838.24 Kelem/s 877.08 Kelem/s 925.84 Kelem/s]                 change:                        time:   [-94.754% -94.473% -94.202%] (p = 0.00 &lt; 0.05)                        thrpt:  [+1624.7% +1709.2% +1806.1%]                        Performance has improved.multi-threaded-traps/16 time:   [10.152 us 10.840 us 11.545 us]                        thrpt:  [1.3858 Melem/s 1.4760 Melem/s 1.5761 Melem/s]                 change:                        time:   [-97.042% -96.823% -96.577%] (p = 0.00 &lt; 0.05)                        thrpt:  [+2821.5% +3048.1% +3281.1%]                        Performance has improved.Found 1 outliers among 100 measurements (1.00%)  1 (1.00%) high mildmany-modules-registered-traps/1                        time:   [2.6278 us 2.6361 us 2.6447 us]                        thrpt:  [378.11 Kelem/s 379.35 Kelem/s 380.55 Kelem/s]                 change:                        time:   [-85.311% -85.108% -84.909%] (p = 0.00 &lt; 0.05)                        thrpt:  [+562.65% +571.51% +580.76%]                        Performance has improved.Found 9 outliers among 100 measurements (9.00%)  3 (3.00%) high mild  6 (6.00%) high severemany-modules-registered-traps/8                        time:   [2.6294 us 2.6460 us 2.6623 us]                        thrpt:  [3.0049 Melem/s 3.0235 Melem/s 3.0425 Melem/s]                 change:                        time:   [-85.895% -85.485% -85.022%] (p = 0.00 &lt; 0.05)                        thrpt:  [+567.63% +588.95% +608.95%]                        Performance has improved.Found 8 outliers among 100 measurements (8.00%)  3 (3.00%) high mild  5 (5.00%) high severemany-modules-registered-traps/64                        time:   [2.6218 us 2.6329 us 2.6452 us]                        thrpt:  [24.195 Melem/s 24.308 Melem/s 24.411 Melem/s]                 change:                        time:   [-93.629% -93.551% -93.470%] (p = 0.00 &lt; 0.05)                        thrpt:  [+1431.4% +1450.6% +1469.5%]                        Performance has improved.Found 3 outliers among 100 measurements (3.00%)  3 (3.00%) high mildmany-modules-registered-traps/512                        time:   [2.6569 us 2.6737 us 2.6923 us]                        thrpt:  [190.17 Melem/s 191.50 Melem/s 192.71 Melem/s]                 change:                        time:   [-99.277% -99.268% -99.260%] (p = 0.00 &lt; 0.05)                        thrpt:  [+13417% +13566% +13731%]                        Performance has improved.Found 4 outliers among 100 measurements (4.00%)  4 (4.00%) high mildmany-modules-registered-traps/4096                        time:   [2.7258 us 2.7390 us 2.7535 us]                        thrpt:  [1.4876 Gelem/s 1.4955 Gelem/s 1.5027 Gelem/s]                 change:                        time:   [-99.956% -99.955% -99.955%] (p = 0.00 &lt; 0.05)                        thrpt:  [+221417% +223380% +224881%]                        Performance has improved.Found 2 outliers among 100 measurements (2.00%)  1 (1.00%) high mild  1 (1.00%) high severemany-stack-frames-traps/1                        time:   [1.4658 us 1.4719 us 1.4784 us]                        thrpt:  [676.39 Kelem/s 679.38 Kelem/s 682.21 Kelem/s]                 change:                        time:   [-90.368% -89.947% -89.586%] (p = 0.00 &lt; 0.05)                        thrpt:  [+860.23% +894.72% +938.21%]                        Performance has improved.Found 8 outliers among 100 measurements (8.00%)  5 (5.00%) high mild  3 (3.00%) high severemany-stack-frames-traps/8                        time:   [2.4772 us 2.4870 us 2.4973 us]                        thrpt:  [3.2034 Melem/s 3.2167 Melem/s 3.2294 Melem/s]                 change:                        time:   [-85.550% -85.370% -85.199%] (p = 0.00 &lt; 0.05)                        thrpt:  [+575.65% +583.51% +592.03%]                        Performance has improved.Found 8 outliers among 100 measurements (8.00%)  4 (4.00%) high mild  4 (4.00%) high severemany-stack-frames-traps/64                        time:   [10.109 us 10.171 us 10.236 us]                        thrpt:  [6.2525 Melem/s 6.2925 Melem/s 6.3309 Melem/s]                 change:                        time:   [-78.144% -77.797% -77.336%] (p = 0.00 &lt; 0.05)                        thrpt:  [+341.22% +350.38% +357.55%]                        Performance has improved.Found 7 outliers among 100 measurements (7.00%)  5 (5.00%) high mild  2 (2.00%) high severemany-stack-frames-traps/512                        time:   [126.16 us 126.54 us 126.96 us]                        thrpt:  [4.0329 Melem/s 4.0461 Melem/s 4.0583 Melem/s]                 change:                        time:   [-65.364% -64.933% -64.453%] (p = 0.00 &lt; 0.05)                        thrpt:  [+181.32% +185.17% +188.71%]                        Performance has improved.Found 4 outliers among 100 measurements (4.00%)  4 (4.00%) high severe```&lt;/details&gt;&lt;h3&gt;Calls&lt;/h3&gt;There is, however, a small regression in raw Wasm-to-host and host-to-Wasm callperformance due the new trampolines. It seems to be on the order of about 2-10nanoseconds per call, depending on the benchmark.I believe this regression is ultimately acceptable because1. this overhead will be vastly dominated by whatever work a non-nop calleeactually does,2. we will need these trampolines, or something like them, when implementing theWasm exceptions proposal to do things like translate Wasm&apos;s exceptions intoRust&apos;s `Result`s,3. and because the performance improvements to trapping and capturing stacktraces are of such a larger magnitude than this call regressions.&lt;details&gt;```sync/no-hook/host-to-wasm - typed - nop                        time:   [28.683 ns 28.757 ns 28.844 ns]                        change: [+16.472% +17.183% +17.904%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 10 outliers among 100 measurements (10.00%)  1 (1.00%) low mild  4 (4.00%) high mild  5 (5.00%) high severesync/no-hook/host-to-wasm - untyped - nop                        time:   [42.515 ns 42.652 ns 42.841 ns]                        change: [+12.371% +14.614% +17.462%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  1 (1.00%) high mild  10 (10.00%) high severesync/no-hook/host-to-wasm - unchecked - nop                        time:   [33.936 ns 34.052 ns 34.179 ns]                        change: [+25.478% +26.938% +28.369%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 9 outliers among 100 measurements (9.00%)  7 (7.00%) high mild  2 (2.00%) high severesync/no-hook/host-to-wasm - typed - nop-params-and-results                        time:   [34.290 ns 34.388 ns 34.502 ns]                        change: [+40.802% +42.706% +44.526%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 13 outliers among 100 measurements (13.00%)  5 (5.00%) high mild  8 (8.00%) high severesync/no-hook/host-to-wasm - untyped - nop-params-and-results                        time:   [62.546 ns 62.721 ns 62.919 ns]                        change: [+2.5014% +3.6319% +4.8078%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 12 outliers among 100 measurements (12.00%)  2 (2.00%) high mild  10 (10.00%) high severesync/no-hook/host-to-wasm - unchecked - nop-params-and-results                        time:   [42.609 ns 42.710 ns 42.831 ns]                        change: [+20.966% +22.282% +23.475%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  4 (4.00%) high mild  7 (7.00%) high severesync/hook-sync/host-to-wasm - typed - nop                        time:   [29.546 ns 29.675 ns 29.818 ns]                        change: [+20.693% +21.794% +22.836%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 5 outliers among 100 measurements (5.00%)  3 (3.00%) high mild  2 (2.00%) high severesync/hook-sync/host-to-wasm - untyped - nop                        time:   [45.448 ns 45.699 ns 45.961 ns]                        change: [+17.204% +18.514% +19.590%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 14 outliers among 100 measurements (14.00%)  4 (4.00%) high mild  10 (10.00%) high severesync/hook-sync/host-to-wasm - unchecked - nop                        time:   [34.334 ns 34.437 ns 34.558 ns]                        change: [+23.225% +24.477% +25.886%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 12 outliers among 100 measurements (12.00%)  5 (5.00%) high mild  7 (7.00%) high severesync/hook-sync/host-to-wasm - typed - nop-params-and-results                        time:   [36.594 ns 36.763 ns 36.974 ns]                        change: [+41.967% +47.261% +52.086%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 12 outliers among 100 measurements (12.00%)  3 (3.00%) high mild  9 (9.00%) high severesync/hook-sync/host-to-wasm - untyped - nop-params-and-results                        time:   [63.541 ns 63.831 ns 64.194 ns]                        change: [-4.4337% -0.6855% +2.7134%] (p = 0.73 &gt; 0.05)                        No change in performance detected.Found 8 outliers among 100 measurements (8.00%)  6 (6.00%) high mild  2 (2.00%) high severesync/hook-sync/host-to-wasm - unchecked - nop-params-and-results                        time:   [43.968 ns 44.169 ns 44.437 ns]                        change: [+18.772% +21.802% +24.623%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 15 outliers among 100 measurements (15.00%)  3 (3.00%) high mild  12 (12.00%) high severeasync/no-hook/host-to-wasm - typed - nop                        time:   [4.9612 us 4.9743 us 4.9889 us]                        change: [+9.9493% +11.911% +13.502%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 10 outliers among 100 measurements (10.00%)  6 (6.00%) high mild  4 (4.00%) high severeasync/no-hook/host-to-wasm - untyped - nop                        time:   [5.0030 us 5.0211 us 5.0439 us]                        change: [+10.841% +11.873% +12.977%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 10 outliers among 100 measurements (10.00%)  3 (3.00%) high mild  7 (7.00%) high severeasync/no-hook/host-to-wasm - typed - nop-params-and-results                        time:   [4.9273 us 4.9468 us 4.9700 us]                        change: [+4.7381% +6.8445% +8.8238%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 14 outliers among 100 measurements (14.00%)  5 (5.00%) high mild  9 (9.00%) high severeasync/no-hook/host-to-wasm - untyped - nop-params-and-results                        time:   [5.1151 us 5.1338 us 5.1555 us]                        change: [+9.5335% +11.290% +13.044%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 16 outliers among 100 measurements (16.00%)  3 (3.00%) high mild  13 (13.00%) high severeasync/hook-sync/host-to-wasm - typed - nop                        time:   [4.9330 us 4.9394 us 4.9467 us]                        change: [+10.046% +11.038% +12.035%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 12 outliers among 100 measurements (12.00%)  5 (5.00%) high mild  7 (7.00%) high severeasync/hook-sync/host-to-wasm - untyped - nop                        time:   [5.0073 us 5.0183 us 5.0310 us]                        change: [+9.3828% +10.565% +11.752%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 8 outliers among 100 measurements (8.00%)  3 (3.00%) high mild  5 (5.00%) high severeasync/hook-sync/host-to-wasm - typed - nop-params-and-results                        time:   [4.9610 us 4.9839 us 5.0097 us]                        change: [+9.0857% +11.513% +14.359%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 13 outliers among 100 measurements (13.00%)  7 (7.00%) high mild  6 (6.00%) high severeasync/hook-sync/host-to-wasm - untyped - nop-params-and-results                        time:   [5.0995 us 5.1272 us 5.1617 us]                        change: [+9.3600% +11.506% +13.809%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 10 outliers among 100 measurements (10.00%)  6 (6.00%) high mild  4 (4.00%) high severeasync-pool/no-hook/host-to-wasm - typed - nop                        time:   [2.4242 us 2.4316 us 2.4396 us]                        change: [+7.8756% +8.8803% +9.8346%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 8 outliers among 100 measurements (8.00%)  5 (5.00%) high mild  3 (3.00%) high severeasync-pool/no-hook/host-to-wasm - untyped - nop                        time:   [2.5102 us 2.5155 us 2.5210 us]                        change: [+12.130% +13.194% +14.270%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 12 outliers among 100 measurements (12.00%)  4 (4.00%) high mild  8 (8.00%) high severeasync-pool/no-hook/host-to-wasm - typed - nop-params-and-results                        time:   [2.4203 us 2.4310 us 2.4440 us]                        change: [+4.0380% +6.3623% +8.7534%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 14 outliers among 100 measurements (14.00%)  5 (5.00%) high mild  9 (9.00%) high severeasync-pool/no-hook/host-to-wasm - untyped - nop-params-and-results                        time:   [2.5501 us 2.5593 us 2.5700 us]                        change: [+8.8802% +10.976% +12.937%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 16 outliers among 100 measurements (16.00%)  5 (5.00%) high mild  11 (11.00%) high severeasync-pool/hook-sync/host-to-wasm - typed - nop                        time:   [2.4135 us 2.4190 us 2.4254 us]                        change: [+8.3640% +9.3774% +10.435%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  6 (6.00%) high mild  5 (5.00%) high severeasync-pool/hook-sync/host-to-wasm - untyped - nop                        time:   [2.5172 us 2.5248 us 2.5357 us]                        change: [+11.543% +12.750% +13.982%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 8 outliers among 100 measurements (8.00%)  1 (1.00%) high mild  7 (7.00%) high severeasync-pool/hook-sync/host-to-wasm - typed - nop-params-and-results                        time:   [2.4214 us 2.4353 us 2.4532 us]                        change: [+1.5158% +5.0872% +8.6765%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 15 outliers among 100 measurements (15.00%)  2 (2.00%) high mild  13 (13.00%) high severeasync-pool/hook-sync/host-to-wasm - untyped - nop-params-and-results                        time:   [2.5499 us 2.5607 us 2.5748 us]                        change: [+10.146% +12.459% +14.919%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 18 outliers among 100 measurements (18.00%)  3 (3.00%) high mild  15 (15.00%) high severesync/no-hook/wasm-to-host - nop - typed                        time:   [6.6135 ns 6.6288 ns 6.6452 ns]                        change: [+37.927% +38.837% +39.869%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 7 outliers among 100 measurements (7.00%)  2 (2.00%) high mild  5 (5.00%) high severesync/no-hook/wasm-to-host - nop-params-and-results - typed                        time:   [15.930 ns 15.993 ns 16.067 ns]                        change: [+3.9583% +5.6286% +7.2430%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 12 outliers among 100 measurements (12.00%)  11 (11.00%) high mild  1 (1.00%) high severesync/no-hook/wasm-to-host - nop - untyped                        time:   [20.596 ns 20.640 ns 20.690 ns]                        change: [+4.3293% +5.2047% +6.0935%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 10 outliers among 100 measurements (10.00%)  5 (5.00%) high mild  5 (5.00%) high severesync/no-hook/wasm-to-host - nop-params-and-results - untyped                        time:   [42.659 ns 42.882 ns 43.159 ns]                        change: [-2.1466% -0.5079% +1.2554%] (p = 0.58 &gt; 0.05)                        No change in performance detected.Found 15 outliers among 100 measurements (15.00%)  1 (1.00%) high mild  14 (14.00%) high severesync/no-hook/wasm-to-host - nop - unchecked                        time:   [10.671 ns 10.691 ns 10.713 ns]                        change: [+83.911% +87.620% +92.062%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 9 outliers among 100 measurements (9.00%)  2 (2.00%) high mild  7 (7.00%) high severesync/no-hook/wasm-to-host - nop-params-and-results - unchecked                        time:   [11.136 ns 11.190 ns 11.263 ns]                        change: [-29.719% -28.446% -27.029%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 14 outliers among 100 measurements (14.00%)  4 (4.00%) high mild  10 (10.00%) high severesync/hook-sync/wasm-to-host - nop - typed                        time:   [6.7964 ns 6.8087 ns 6.8226 ns]                        change: [+21.531% +24.206% +27.331%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 14 outliers among 100 measurements (14.00%)  4 (4.00%) high mild  10 (10.00%) high severesync/hook-sync/wasm-to-host - nop-params-and-results - typed                        time:   [15.865 ns 15.921 ns 15.985 ns]                        change: [+4.8466% +6.3330% +7.8317%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 16 outliers among 100 measurements (16.00%)  3 (3.00%) high mild  13 (13.00%) high severesync/hook-sync/wasm-to-host - nop - untyped                        time:   [21.505 ns 21.587 ns 21.677 ns]                        change: [+8.0908% +9.1943% +10.254%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 8 outliers among 100 measurements (8.00%)  4 (4.00%) high mild  4 (4.00%) high severesync/hook-sync/wasm-to-host - nop-params-and-results - untyped                        time:   [44.018 ns 44.128 ns 44.261 ns]                        change: [-1.4671% -0.0458% +1.2443%] (p = 0.94 &gt; 0.05)                        No change in performance detected.Found 14 outliers among 100 measurements (14.00%)  5 (5.00%) high mild  9 (9.00%) high severesync/hook-sync/wasm-to-host - nop - unchecked                        time:   [11.264 ns 11.326 ns 11.387 ns]                        change: [+80.225% +81.659% +83.068%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 6 outliers among 100 measurements (6.00%)  3 (3.00%) high mild  3 (3.00%) high severesync/hook-sync/wasm-to-host - nop-params-and-results - unchecked                        time:   [11.816 ns 11.865 ns 11.920 ns]                        change: [-29.152% -28.040% -26.957%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 14 outliers among 100 measurements (14.00%)  8 (8.00%) high mild  6 (6.00%) high severeasync/no-hook/wasm-to-host - nop - typed                        time:   [6.6221 ns 6.6385 ns 6.6569 ns]                        change: [+43.618% +44.755% +45.965%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 13 outliers among 100 measurements (13.00%)  6 (6.00%) high mild  7 (7.00%) high severeasync/no-hook/wasm-to-host - nop-params-and-results - typed                        time:   [15.884 ns 15.929 ns 15.983 ns]                        change: [+3.5987% +5.2053% +6.7846%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 16 outliers among 100 measurements (16.00%)  3 (3.00%) high mild  13 (13.00%) high severeasync/no-hook/wasm-to-host - nop - untyped                        time:   [20.615 ns 20.702 ns 20.821 ns]                        change: [+6.9799% +8.1212% +9.2819%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 10 outliers among 100 measurements (10.00%)  2 (2.00%) high mild  8 (8.00%) high severeasync/no-hook/wasm-to-host - nop-params-and-results - untyped                        time:   [41.956 ns 42.207 ns 42.521 ns]                        change: [-4.3057% -2.7730% -1.2428%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 14 outliers among 100 measurements (14.00%)  3 (3.00%) high mild  11 (11.00%) high severeasync/no-hook/wasm-to-host - nop - unchecked                        time:   [10.440 ns 10.474 ns 10.513 ns]                        change: [+83.959% +85.826% +87.541%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  5 (5.00%) high mild  6 (6.00%) high severeasync/no-hook/wasm-to-host - nop-params-and-results - unchecked                        time:   [11.476 ns 11.512 ns 11.554 ns]                        change: [-29.857% -28.383% -26.978%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 12 outliers among 100 measurements (12.00%)  1 (1.00%) low mild  6 (6.00%) high mild  5 (5.00%) high severeasync/no-hook/wasm-to-host - nop - async-typed                        time:   [26.427 ns 26.478 ns 26.532 ns]                        change: [+6.5730% +7.4676% +8.3983%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 9 outliers among 100 measurements (9.00%)  2 (2.00%) high mild  7 (7.00%) high severeasync/no-hook/wasm-to-host - nop-params-and-results - async-typed                        time:   [28.557 ns 28.693 ns 28.880 ns]                        change: [+1.9099% +3.7332% +5.9731%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 15 outliers among 100 measurements (15.00%)  1 (1.00%) high mild  14 (14.00%) high severeasync/hook-sync/wasm-to-host - nop - typed                        time:   [6.7488 ns 6.7630 ns 6.7784 ns]                        change: [+19.935% +22.080% +23.683%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 9 outliers among 100 measurements (9.00%)  4 (4.00%) high mild  5 (5.00%) high severeasync/hook-sync/wasm-to-host - nop-params-and-results - typed                        time:   [15.928 ns 16.031 ns 16.149 ns]                        change: [+5.5188% +6.9567% +8.3839%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  9 (9.00%) high mild  2 (2.00%) high severeasync/hook-sync/wasm-to-host - nop - untyped                        time:   [21.930 ns 22.114 ns 22.296 ns]                        change: [+4.6674% +7.7588% +10.375%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 4 outliers among 100 measurements (4.00%)  3 (3.00%) high mild  1 (1.00%) high severeasync/hook-sync/wasm-to-host - nop-params-and-results - untyped                        time:   [42.684 ns 42.858 ns 43.081 ns]                        change: [-5.2957% -3.4693% -1.6217%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 14 outliers among 100 measurements (14.00%)  2 (2.00%) high mild  12 (12.00%) high severeasync/hook-sync/wasm-to-host - nop - unchecked                        time:   [11.026 ns 11.053 ns 11.086 ns]                        change: [+70.751% +72.378% +73.961%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 10 outliers among 100 measurements (10.00%)  5 (5.00%) high mild  5 (5.00%) high severeasync/hook-sync/wasm-to-host - nop-params-and-results - unchecked                        time:   [11.840 ns 11.900 ns 11.982 ns]                        change: [-27.977% -26.584% -24.887%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 18 outliers among 100 measurements (18.00%)  3 (3.00%) high mild  15 (15.00%) high severeasync/hook-sync/wasm-to-host - nop - async-typed                        time:   [27.601 ns 27.709 ns 27.882 ns]                        change: [+8.1781% +9.1102% +10.030%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  2 (2.00%) low mild  3 (3.00%) high mild  6 (6.00%) high severeasync/hook-sync/wasm-to-host - nop-params-and-results - async-typed                        time:   [28.955 ns 29.174 ns 29.413 ns]                        change: [+1.1226% +3.0366% +5.1126%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 13 outliers among 100 measurements (13.00%)  7 (7.00%) high mild  6 (6.00%) high severeasync-pool/no-hook/wasm-to-host - nop - typed                        time:   [6.5626 ns 6.5733 ns 6.5851 ns]                        change: [+40.561% +42.307% +44.514%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 9 outliers among 100 measurements (9.00%)  5 (5.00%) high mild  4 (4.00%) high severeasync-pool/no-hook/wasm-to-host - nop-params-and-results - typed                        time:   [15.820 ns 15.886 ns 15.969 ns]                        change: [+4.1044% +5.7928% +7.7122%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 17 outliers among 100 measurements (17.00%)  4 (4.00%) high mild  13 (13.00%) high severeasync-pool/no-hook/wasm-to-host - nop - untyped                        time:   [20.481 ns 20.521 ns 20.566 ns]                        change: [+6.7962% +7.6950% +8.7612%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  6 (6.00%) high mild  5 (5.00%) high severeasync-pool/no-hook/wasm-to-host - nop-params-and-results - untyped                        time:   [41.834 ns 41.998 ns 42.189 ns]                        change: [-3.8185% -2.2687% -0.7541%] (p = 0.01 &lt; 0.05)                        Change within noise threshold.Found 13 outliers among 100 measurements (13.00%)  3 (3.00%) high mild  10 (10.00%) high severeasync-pool/no-hook/wasm-to-host - nop - unchecked                        time:   [10.353 ns 10.380 ns 10.414 ns]                        change: [+82.042% +84.591% +87.205%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 7 outliers among 100 measurements (7.00%)  4 (4.00%) high mild  3 (3.00%) high severeasync-pool/no-hook/wasm-to-host - nop-params-and-results - unchecked                        time:   [11.123 ns 11.168 ns 11.228 ns]                        change: [-30.813% -29.285% -27.874%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 12 outliers among 100 measurements (12.00%)  11 (11.00%) high mild  1 (1.00%) high severeasync-pool/no-hook/wasm-to-host - nop - async-typed                        time:   [27.442 ns 27.528 ns 27.638 ns]                        change: [+7.5215% +9.9795% +12.266%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 18 outliers among 100 measurements (18.00%)  3 (3.00%) high mild  15 (15.00%) high severeasync-pool/no-hook/wasm-to-host - nop-params-and-results - async-typed                        time:   [29.014 ns 29.148 ns 29.312 ns]                        change: [+2.0227% +3.4722% +4.9047%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 7 outliers among 100 measurements (7.00%)  6 (6.00%) high mild  1 (1.00%) high severeasync-pool/hook-sync/wasm-to-host - nop - typed                        time:   [6.7916 ns 6.8116 ns 6.8325 ns]                        change: [+20.937% +22.050% +23.281%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 11 outliers among 100 measurements (11.00%)  5 (5.00%) high mild  6 (6.00%) high severeasync-pool/hook-sync/wasm-to-host - nop-params-and-results - typed                        time:   [15.917 ns 15.975 ns 16.051 ns]                        change: [+4.6404% +6.4217% +8.3075%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 16 outliers among 100 measurements (16.00%)  5 (5.00%) high mild  11 (11.00%) high severeasync-pool/hook-sync/wasm-to-host - nop - untyped                        time:   [21.558 ns 21.612 ns 21.679 ns]                        change: [+8.1158% +9.1409% +10.217%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 9 outliers among 100 measurements (9.00%)  2 (2.00%) high mild  7 (7.00%) high severeasync-pool/hook-sync/wasm-to-host - nop-params-and-results - untyped                        time:   [42.475 ns 42.614 ns 42.775 ns]                        change: [-6.3613% -4.4709% -2.7647%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 18 outliers among 100 measurements (18.00%)  3 (3.00%) high mild  15 (15.00%) high severeasync-pool/hook-sync/wasm-to-host - nop - unchecked                        time:   [11.150 ns 11.195 ns 11.247 ns]                        change: [+74.424% +77.056% +79.811%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 14 outliers among 100 measurements (14.00%)  3 (3.00%) high mild  11 (11.00%) high severeasync-pool/hook-sync/wasm-to-host - nop-params-and-results - unchecked                        time:   [11.639 ns 11.695 ns 11.760 ns]                        change: [-30.212% -29.023% -27.954%] (p = 0.00 &lt; 0.05)                        Performance has improved.Found 15 outliers among 100 measurements (15.00%)  7 (7.00%) high mild  8 (8.00%) high severeasync-pool/hook-sync/wasm-to-host - nop - async-typed                        time:   [27.480 ns 27.712 ns 27.984 ns]                        change: [+2.9764% +6.5061% +9.8914%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 8 outliers among 100 measurements (8.00%)  6 (6.00%) high mild  2 (2.00%) high severeasync-pool/hook-sync/wasm-to-host - nop-params-and-results - async-typed                        time:   [29.218 ns 29.380 ns 29.600 ns]                        change: [+5.2283% +7.7247% +10.822%] (p = 0.00 &lt; 0.05)                        Performance has regressed.Found 16 outliers among 100 measurements (16.00%)  2 (2.00%) high mild  14 (14.00%) high severe```&lt;/details&gt;* Add s390x support for frame pointer-based stack walking* wasmtime: Allow `Caller::get_export` to get all exports* fuzzing: Add a fuzz target to check that our stack traces are correctWe generate Wasm modules that keep track of their own stack as they call andreturn between functions, and then we periodically check that if the hostcaptures a backtrace, it matches what the Wasm module has recorded.* Remove VM offsets for `VMHostFuncContext` since it isn&apos;t used by JIT code* Add doc comment with stack walking implementation notes* Document the extra state that can be passed to `wasmtime_runtime::Backtrace` methods* Add extensive comments for stack walking function* Factor architecture-specific bits of stack walking out into modules* Initialize store-related fields in a vmctx to null when there is no store yetRather than leaving them as uninitialized data.* Use `set_callee` instead of manually setting the vmctx field* Use a more informative compile error message for unsupported architectures* Document unsafety of `prepare_host_to_wasm_trampoline`* Use `bti c` instead of `hint #34` in inline aarch64 assembly* Remove outdated TODO comment* Remove setting of `last_wasm_exit_fp` in `set_jit_trap`This is no longer needed as the value is plumbed through to the backtrace codedirectly now.* Only set the stack limit once, in the face of re-entrancy into Wasm* Add comments for s390x-specific stack walking bits* Use the helper macro for all libcallsIf we forget to use it, and then trigger a GC from the libcall, that means wecould miss stack frames when walking the stack, fail to find live GC refs, andthen get use after free bugs. Much less risky to always use the helper macrothat takes care of all of that for us.* Use the `asm_sym!` macro in Wasm-to-libcall trampolinesThis macro handles the macOS-specific underscore prefix stuff for us.* wasmtime: add size and align to `externref` assertion error message* Extend the `stacks` fuzzer to have host frames in between Wasm framesThis way we get one or more contiguous sequences of Wasm frames on the stack,instead of exactly one.* Add documentation for aarch64-specific backtrace helpers* Clarify that we only support little-endian aarch64 in trampoline comment* Use `.machine z13` in s390x assembly fileSince apparently our CI machines have pretty old assemblers that don&apos;t have`.machine z14`. This should be fine though since these trampolines don&apos;t makeuse of anything that is introduced in z14.* Fix aarch64 build* Fix macOS build* Document the `asm_sym!` macro* Add windows support to the `wasmtime-asm-macros` crate* Add windows support to host&lt;---&gt;Wasm trampolines* Fix trap handler build on windows* Run `rustfmt` on s390x trampoline source file* Temporarily disable some assertions about a trap&apos;s backtrace in the component model testsFollow up to re-enable this and fix the associated issue:https://github.com/bytecodealliance/wasmtime/issues/4535* Refactor libcall definitions with less macrosThis refactors the `libcall!` macro to use the`foreach_builtin_function!` macro to define all of the trampolines.Additionally the macro surrounding each libcall itself is no longernecessary and helps avoid too many macros.* Use `VMOpaqueContext::from_vm_host_func_context` in `VMHostFuncContext::new`* Move `backtrace` module to be submodule of `traphandlers`This avoids making some things `pub(crate)` in `traphandlers` that reallyshouldn&apos;t be.* Fix macOS aarch64 build* Use &quot;i64&quot; instead of &quot;word&quot; in aarch64-specific file* Save/restore entry SP and exit FP/return pointer in the face of panicking imported host functionsAlso clean up assertions surrounding our saved entry/exit registers.* Put &quot;typed&quot; vs &quot;untyped&quot; in the same position of call benchmark namesRegardless if we are doing wasm-to-host or host-to-wasm* Fix stacks test case generator build for new `wasm-encoder`* Fix build for s390x* Expand libcalls in s390x asm* Disable more parts of component tests now that backtrace assertions are a bit tighter* Remove assertion that can maybe fail on s390xCo-authored-by: Ulrich Weigand &lt;ulrich.weigand@de.ibm.com&gt;Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Thu, 28 Jul 2022 22:46:14 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a8ce7f12 - fuzz: add a single instruction module generator (#4409)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#a8ce7f12</link>
        <description>fuzz: add a single instruction module generator (#4409)* fuzz: add a single instruction module generatorAs proposed by @cfallin in #3251, this change adds a way to generate aWasm module for a single instruction. It captures the necessaryparameter and result types so that fuzzing can not only choose whichinstruction to check but also generate values to pass to theinstruction. Not all instructions are available yet, but a significantportion of scalar instructions are implemented in this change.This does not wire the generator up to any fuzz targets.* review: use raw string in test* review: remove once_cell, use slices* review: refactor macros to use valtype!* review: avoid cloning when choosing a SingleInstModule

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Thu, 07 Jul 2022 22:50:59 +0000</pubDate>
        <dc:creator>Andrew Brown &lt;andrew.brown@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>c227063f - fuzz: refactor fuzz generators (#4404)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#c227063f</link>
        <description>fuzz: refactor fuzz generators (#4404)Previously, much of the logic for generating the various objects neededfor fuzzing was concentrated primarily in `generators.rs`. In trying topiece together what code does what, the size of the file and the lightdocumentation make it hard to discern what each part does. Since severalgenerator structures had been split out as separate modules in the`generators/` directory, this change takes that refactoring further bymoving the structures in `generators.rs` to their own modules. No logicchanges were made, only the addition of documentation in a few places.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Thu, 07 Jul 2022 18:44:27 +0000</pubDate>
        <dc:creator>Andrew Brown &lt;andrew.brown@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>52ad76ed - Update differential fuzzing configuration (#4386)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#52ad76ed</link>
        <description>Update differential fuzzing configuration (#4386)* Update differential fuzzing configurationThis uses some new features of `wasm-smith` and additionally tweaks theexisting fuzz configuration:* More than one function is now allowed to be generated. There&apos;s no  particular reason to limit differential execution to just one and we  may want to explore other interesting module shapes.* More than one function type is now allowed to possibly allow more  interesting `block` types.* Memories are now allowed to grow beyond one page, but still say small  by staying underneath 10 pages.* Tables are now always limited in their growth to ensure consistent  behavior across engines (e.g. with the pooling allocator vs v8).* The `export_everything` feature is used instead of specifying a  min/max number of exports.The `wasmi` differential fuzzer was updated to still work if memory isexported, but otherwise the v8 differential fuzzer already worked if afunction was exported but a memory wasn&apos;t. Both fuzzers continue toexecute only the first exported function.Also notable from this update is that the `SwarmConfig` from`wasm-smith` will now include an arbitrary `allowed_instructions`configuration which may help explore the space of interesting modulesmore effectively.* Fix typos

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Tue, 05 Jul 2022 21:14:31 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>c8414cfc - Fix guard size configuration when fuzzing (#4321)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#c8414cfc</link>
        <description>Fix guard size configuration when fuzzing (#4321)Fuzzers weren&apos;t updated to account for #4262 where guard sizes are nowvalidated rather than automatically sanitized. I&apos;m not sure why oss-fuzzhasn&apos;t filed a bug about this yet because it&apos;s definitely crashing a loton oss-fuzz...

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Mon, 27 Jun 2022 19:16:06 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>22e13fee - fuzz: allow generating shared memories (#4266)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#22e13fee</link>
        <description>fuzz: allow generating shared memories (#4266)`wasm-smith` v0.11 has support for generating shared memories when the`threads_enabled` configuration flag is set. This change turns on thatflag occasionally. This also upgrades `wasm-smith` to v0.11.1 to alwaysgenerate shared memory with a known maximum.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Tue, 14 Jun 2022 16:50:41 +0000</pubDate>
        <dc:creator>Andrew Brown &lt;andrew.brown@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>258dc9de - fix(wasmtime):`Config` methods should be idempotent (#4252)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/generators.rs#258dc9de</link>
        <description>fix(wasmtime):`Config` methods should be idempotent (#4252)This commit refactored `Config` to use a seperate `CompilerConfig` field insteadof operating on `CompilerBuilder` directly to make all its methods idempotent.Fixes #4189

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/generators.rs</description>
        <pubDate>Mon, 13 Jun 2022 13:54:31 +0000</pubDate>
        <dc:creator>Pure White &lt;wu.purewhite@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
