<?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 async.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>cc8d04f4 - Remove need for explicit `Config::async_support` knob  (#12371)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#cc8d04f4</link>
        <description>Remove need for explicit `Config::async_support` knob  (#12371)* Refactor component model host function definitionsPush the `async`-ness down one layer.* Remove need for explicit `Config::async_support` knobThis commit is an attempt to step towards reconciling &quot;old async&quot; and&quot;new async&quot; in Wasmtime. The old async style is the original asyncsupport in Wasmtime with `call_async`, `func_wrap_async`, etc, where themain property is that the store is &quot;locked&quot; during an async operation.Put another way, a store can only execute at most one async operation ata time. This is in contrast to &quot;new async&quot; support in Wasmtime with thecomponent-model-async (WASIp3) support, where stores can have more thanone async operation in flight at once.This commit does not fully reconcile these differences, but it doesremove one hurdle along the way: `Config::async_support`. Since thebeginning of Wasmtime this configuration knob has existed to explicitlydemarcate a config/engine/store as &quot;this thing requires `async` stuffinternally.&quot; This has started to make less and less sense over timewhere the line between sync and async has become more murky with WASIp3where the two worlds comingle. The goal of this commit is to deprecate`Config::async_support` and make the function not actually do anything.In isolation this can&apos;t simply be done, however, because there are manyload-bearing aspects of Wasmtime that rely on this `async_support` knob.For example once epochs + yielding are enabled it&apos;s required that allWasm is executed on a fiber lest it hit an epoch and not know how toyield. That means that this commit is not a simple removal of`async_support` but instead a refactoring/rearchitecting of how async isused internally within Wasmtime. The high-level ideas within Wasmtimenow are:* A `Store` has a &quot;requires async&quot; boolean stored within it.* All configuration options which end up requiring async, such as  yielding with epochs, turn this boolean on.* Creation of host functions which use async  (e.g. `func_wrap_{async,concurrent}`) will also turn this option on.* Synchronous API entrypoints into Wasmtime ensure that this boolean is  disabled.* Asynchronous APIs are usable at any time.This means that the concept of an async store vs a sync store is nowgone. All stores are equally capable of executing sync/async, and thechange now is that dynamically some stores will require that async isused with certain configuration. Additionally all panicking conditionsaround `async_support` have been converted to errors instead. Allrelevant APIs already returned an error and things are murky enough nowthat it&apos;s not necessarily trivial to get this right at the embedderlevel. In the interest of avoiding panics all detected async mismatchesare now first-class `wasmtime::Error` values.The end result of this commit is that `Config::async_support` is adeprecated `#[doc(hidden)]` function that does nothing. While manyinternal changes happened as well as having new tests for all this sortof behavior this is not expected to have a great impact on externalconsumers. In general a deletion of `async_support(true)` is in theoryall that&apos;s required. This is intended to make it easier to think aboutasync/sync/etc in the future with WASIp3 and eventually reconcile`func_wrap_async` and `func_wrap_concurrent` for example. That&apos;s leftfor future refactorings however.prtest:full* Review comments* Fix CI failures

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Fri, 23 Jan 2026 02:46:45 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>980a136e - Wasmtime: generalize `async_stack_zeroing` knob to cover initialization (#10027)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#980a136e</link>
        <description>Wasmtime: generalize `async_stack_zeroing` knob to cover initialization (#10027)* Wasmtime: generalize `async_stack_zeroing` knob to cover initializationThis commit moves the knob from the `PoolingInstanceAllocatorConfig` to theregular `Config` and now controls both whether stacks are zeroed before reuseand whether they are zeroed before the initial use. The latter doesn&apos;t matterusually, since anonymous mmaps are already zeroed so we don&apos;t have to doanything there, but for no-std environments it is the difference betweenmanually zeroing the stack or simply using unininitialized memory.* Fix CLI and test builds* fix default config value* fix some more tests

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Thu, 16 Jan 2025 00:23:13 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>22a4480e - Use cmake to build wasmtime-c-api (#9031)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#22a4480e</link>
        <description>Use cmake to build wasmtime-c-api (#9031)* Use cmake to build wasmtime-c-api* Properly expose features when building via cmake* Install all headers to same directory* Add vets* attempt to fix ci* Run all tests on CIprtest:full* Set CARGO_BUILD_TARGET; add CMakeLists to package* Update comment on github action* Attempt to fix android build* Fix source dir modifications of c-api build* Re-add BINARY_DIR option* Fix build* Move header installation to a cmake scriptTry to avoid dealing with cmake configuration/platforms/etc.* Tweak build of headers* Install headers in build dir for examples* Add cmake files to dist, fix header install dir---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Fri, 09 Aug 2024 18:36:13 +0000</pubDate>
        <dc:creator>Ryan Patterson &lt;cgamesplay@cgamesplay.com&gt;</dc:creator>
    </item>
<item>
        <title>566669ee - Refactor installation of C API and features supported  (#8642)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#566669ee</link>
        <description>Refactor installation of C API and features supported  (#8642)* Refactor installation of C API and features supportedThis commit overhauls and refactors the management of the building ofthe C API. Instead of this being script-based it&apos;s now done entirelythrough CMake and CMake is the primary focus for building the C API. Forexample building the C API release artifacts is now done through CMakeinstead of through a shell script&apos;s `cargo build` and manually movingartifacts.The benefits that this brings are:* The C API now properly hides symbols in its header files that weren&apos;t  enabled at build time. This is done through a new build-time generated  `conf.h` templated on a `conf.h.in` file in the source tree.* The C API&apos;s project now supports enabling/disabling Cargo features to  have finer-grained support over what&apos;s included (plus auto-management  of the header file).* Building the C API and managing it is now exclusively done through  CMake. For example invoking `doxygen` now lives in CMake, installation  lives there, etc.The `CMakeLists.txt` file for the C API is overhauled in the process ofdoing this. The build now primarily matches on the Rust target beingbuilt rather than the host target. Additionally installation will nowinstall both the static and shared libraries instead of just one.Additionally during this refactoring various bits and pieces ofAndroid-specific code were all removed. Management of the C toolchainfeels best left in scope of the caller (e.g. configuring `CC_*` env varsand such) rather than here.prtest:full* Don&apos;t use `option` for optional strings* Invert release build checkAlso adjust some indentation* Fix more indentation* Remove no-longer-used variable* Reduce duplication in feature macro

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Mon, 20 May 2024 15:31:36 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>0e9121da - Fix some typos (#8641)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#0e9121da</link>
        <description>Fix some typos (#8641)* occurred* winch typos* tests typos* cli typos* fuzz typos* examples typos* docs typos* crates/wasmtime typos* crates/environ typos* crates/cranelift typos* crates/test-programs typos* crates/c-api typos* crates/cache typos* crates other typos* cranelift/codegen/src/isa typos* cranelift/codegen/src other typos* cranelift/codegen other typos* cranelift other typos* ci js typo* .github workflows typo* RELEASES typo* Fix clang-format documentation line---------Co-authored-by: Andrew Brown &lt;andrew.brown@intel.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Thu, 16 May 2024 23:21:22 +0000</pubDate>
        <dc:creator>FrankReh &lt;FrankReh@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>f8fee938 - add clang format (#7601)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#f8fee938</link>
        <description>add clang format (#7601)* add clang-formatWe chose WebKit style because out of all the builtin styles it seems theclosest to what already exists in wasmtime.Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: don&apos;t reorder headersThe order here mattersSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: apply clang-formatSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* fiber: apply clang-formatSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* runtime: apply clang-formatSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* examples: apply clang formatSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* tests: apply clang-formatSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* ci: add clang-format checksSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* clang-format: keep braces on the same lineThis is more the existing styleSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* remove clang-formatJust use the tool defaults (LLVM)Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* Fix ci nameSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* manually reformat a couple of commentsprtest:fullSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* disable formatting for doc-wasm.hSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* manually reformat wasmtime.hSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* disable formattingTo prevent a link from being brokenSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* examples: fixing build commandsSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* fix parameter commentSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;---------Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Wed, 29 Nov 2023 18:39:04 +0000</pubDate>
        <dc:creator>Tyler Rockwood &lt;rockwotj@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>7d632651 - Fix header for async fuel yielding (#7414)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#7d632651</link>
        <description>Fix header for async fuel yielding (#7414)This returns `Option&lt;Box&lt;wasmtime_error_t&gt;&gt;` on the Rust side.Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Mon, 30 Oct 2023 21:11:57 +0000</pubDate>
        <dc:creator>Tyler Rockwood &lt;rockwotj@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>85c0a2df - Switch to simpler fuel APIs (#7298)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#85c0a2df</link>
        <description>Switch to simpler fuel APIs (#7298)In an effort to simplify the many fuel related APIs, simplify theinterface here to a single counter with get and set methods.Additionally the async yield is reduced to an interval of the total fuelinstead of injecting fuel, so it&apos;s easy to still reason about how muchfuel is left even with yielding turned on.Internally this works by keeping two counters - one the VM uses toincrement towards 0 for fuel, the other to track how much is in&quot;reserve&quot;. Then when we&apos;re out of gas, we pull from the reserve torefuel and continue. We use the reserve in two cases: one for overflowof the fuel (which is an i64 and the API expresses fuel as u64) and theother for async yieling, which then the yield interval acts as a cap tohow much we can refuel with.This also means that `get_fuel` can return the full range of `u64`before this change it could only return up to `i64::MAX`. This isimportant because this PR is removing the functionality to track fuelconsumption, and this makes the API less error prone for embedders totrack consumption themselves.Careful to note that the VM counter that is stored as `i64` can bepositive if an instruction &quot;costs&quot; multiple units of fuel when the fuelran out.prtest:fullSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Mon, 23 Oct 2023 19:50:23 +0000</pubDate>
        <dc:creator>Tyler Rockwood &lt;rockwotj@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>f5343733 - c-api: expose memory_init_cow (#7227)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#f5343733</link>
        <description>c-api: expose memory_init_cow (#7227)* c-api: expose memory_init_cowSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: fix type in async.hI really wish these were autogenerated :/Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;---------Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Thu, 12 Oct 2023 20:34:24 +0000</pubDate>
        <dc:creator>Tyler Rockwood &lt;rockwotj@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>e6ff8411 - Introduce API for custom stack memory (#7209)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#e6ff8411</link>
        <description>Introduce API for custom stack memory (#7209)* Introduce StackMemory and StackMemoryCreatorThis allows custom implementations of stack memory to be plugged intothe async functionality for wasmtime. Currently, stacks are alwaysmmapped, and this custom allocator allows embedders to use any memorythey would like.The new APIs are also exposed in the C api.This has no effect on windows, as our hands are tied with fibers there.Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* Add test for custom host memorySigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* fix allocator testSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* Address review commentsSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* Fix lint warningsprtest:fullSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* fix windows lint warningprtest:fullSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;---------Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Wed, 11 Oct 2023 19:35:42 +0000</pubDate>
        <dc:creator>Tyler Rockwood &lt;rockwotj@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>ec07c89b - c-api: Support InstancePre (#7140)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#ec07c89b</link>
        <description>c-api: Support InstancePre (#7140)* c-api: Support InstancePreSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Consolidate all the instance_pre functionalitySigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Add async instantiate support to pre instancesSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Add star to comment for doxygenprtest:fullSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;---------Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Tue, 03 Oct 2023 17:51:07 +0000</pubDate>
        <dc:creator>Tyler Rockwood &lt;rockwotj@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>37cf8e1e - Async support in the C API (#7106)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h#37cf8e1e</link>
        <description>Async support in the C API (#7106)* c-api: Add a feature for asyncSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Add support for async configSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Add support for calling async functionsSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Add ability to yield execution of Wasm in a storeSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Introduce wasmtime_linker_instantiate_asyncSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Support defining async host functionsSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* gitignore: ignore cmake cache for examplesSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* examples: Add example of async API in CSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Consolidate async functionality into a single placePut all the async stuff in it&apos;s own header and own rust source fileAlso remove the wasmtime_async_continuation_new function, users can justallocate it directly.Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Make async function safeSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Remove wasmtime_call_future_get_resultsSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Simplify CHostCallFutureMove the result translation and hostcall_val_storage usage into an asyncfunctionSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Simplify C continuation implementationRemove the caller, which means that we don&apos;t need another struct for thefuture implementation.Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Improve async.h documentationSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Cleanup from previous changesSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* examples: Fix exampleSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Simplify continuation callbackThis gives more duality with calling an async function and also meansthat the implementation can pretty much mirror the sync version.Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Fix async.h documentationSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Fix documentation for async.hSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: Review feedbackSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* examples: Downgrade async.cpp example to C++11Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* c-api: initialize continuation with a panic callbackSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;* prtest:fullSigned-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;---------Signed-off-by: Tyler Rockwood &lt;rockwood@redpanda.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/include/wasmtime/async.h</description>
        <pubDate>Tue, 03 Oct 2023 13:42:56 +0000</pubDate>
        <dc:creator>Tyler Rockwood &lt;rockwotj@users.noreply.github.com&gt;</dc:creator>
    </item>
</channel>
</rss>
