<?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 unix.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>fe12d384 - Try to fix x86_64-apple-darwin release builds (#12245)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#fe12d384</link>
        <description>Try to fix x86_64-apple-darwin release builds (#12245)This is an attempt to address #12217 which applies a similar workaroundfound in #11960 to this naked function as well. Effectively it lookslike `#[unsafe(naked)]` is buggy to the point that the user of thefunction symbol must be `#[inline(never)]` and in the same module,otherwise it won&apos;t work correctly.Closes #12217

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Tue, 06 Jan 2026 15:09:40 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>33cbb217 - Avoid `copy_from_slice` in the p1 adapter (#12088)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#33cbb217</link>
        <description>Avoid `copy_from_slice` in the p1 adapter (#12088)* Avoid `copy_from_slice` in the p1 adapterThis is not fully optimized on nightly where a possible panic pointremains which breaks the build of the adapter, so resort to`ptr::copy_nonverlapping` to avoid this dead panic code.* Fix macos* More macos fixesprtest:full

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Wed, 26 Nov 2025 14:47:24 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>3e9eca8b - Use `naked_asm!`, delete `asm_func!` (#11405)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#3e9eca8b</link>
        <description>Use `naked_asm!`, delete `asm_func!` (#11405)This deletes our home-grown `asm_func!` macro in favor of using`#[unsafe(naked)]` functions within Wasmtime. This is needed forfiber-related bits right now where we need tight control over the exactassembly of some functions. This additionally migrates s390x fiber bitsto Rust as inline assembly is now stable for s390x.prtest:full

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Thu, 18 Sep 2025 20:23:41 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>35786823 - Deny `unsafe_op_in_unsafe_fn` in `wasmtime::runtime::vm` (#11312)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#35786823</link>
        <description>Deny `unsafe_op_in_unsafe_fn` in `wasmtime::runtime::vm` (#11312)* Deny `unsafe_op_in_unsafe_fn` in `wasmtime::runtime::vm`Slowly expanding this lint to more of the crate.prtest:full* Fix lints in custom module* Fix some lints with miri* Fix non-VM build* Fix arm windows

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Wed, 23 Jul 2025 21:50:06 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>838ed2d0 - Enable `allow_attributes_without_reason` (#11195)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#838ed2d0</link>
        <description>Enable `allow_attributes_without_reason` (#11195)* Enable `allow_attributes_without_reason`This commit enables the `clippy::allow_attributes_without_reason` forthe `wasmtime` crate which previously forcibly allowed it. The reasonthis was allowed was that when the workspace was first migrated theWasmtime crate had too many instances that I was willing to fix. I&apos;venow come back around and tried to fix everything.In short: ideally delete `#[allow]`, otherwise use `#[expect]`,otherwise use `#[allow]`.prtest:full* Adjust some directives* Fix some warnings* Fix stack switching size tests on unix* Don&apos;t have a conditional `Drop` impl* Force `testing_freelist` method to be usedToo lazy to write `#[cfg]`, but not too lazy to write a test.

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Mon, 07 Jul 2025 21:52:03 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>b221fca7 - update `component-model-async` plumbing (#11123)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#b221fca7</link>
        <description>update `component-model-async` plumbing (#11123)* [DO NOT MERGE] update `component-model-async` plumbingThis pulls in the latest Component Model async ABI code from the`wasip3-prototyping` repo, including various API refactors and spec updates.This includes all the changes to the `wasmtime` crate from `wasip3-prototyping`_except_ that the `concurrent` submodule and child submodules contain onlynon-functional stubs.  For that reason, and the fact thate.g. `Func::call_async` is now implemented in terms of `Func::call_concurrent`,most of the component model tests are failing.  This commit is not meant to bemerged as-is; a follow-up commit (to be PR&apos;d separately) will contain the real`concurrent` implementation, at which point the tests will pass again.  I&apos;msplitting these into separate PRs to make review easier.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* Undo wit-bindgen changesNo longer necessary after other refactors* Move back to crates.io-based wit-bindgen* Undo upgrade of http-body-util(deferred for future PR)* Add back in arbitrary use of asyncLooks like it may have been lost by accident* Make imports more conventional for Wasmtime* Some minor changes* Privatize a component field* Cut down a bit on #[cfg]* Undo a no-longer-necessary `pub`* add doc comments for `{Future,Stream,ErrorContext}Any`Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* rename `concurrent` stub module to `concurrent_disabled`...and avoid panicking in the stubs.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* fix test regressionSigned-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* revert `call_async` and `post_return_impl` changesThese will need to wait until the `component-model-async` feature is fullyimplemented.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* remove unused structSigned-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* add `Options::callback` fieldThis isn&apos;t used yet, but will be used when the real `component-model-async`implementation is merged.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* Remove no-longer-needed feature* Trim reexports from WasmtimeSome of these are no longer needed or can be avoided with small changes.Some deps are likely needed in the next commit but they&apos;ll be best addedthere.* Update test expectations* More trimming of Cargo.toml* Defer `*Buffer` traits to next PRNot needed for this PR I believe.* Use conventional Wasmtime imports + remove dummy_waker* Reduce duplication in `*_disabled`* Remove some unncessary bounds* Remove some `for&lt;&apos;a&gt;` bounds where unnecessary* Remove another bound* Defer more functions to the next PR`drop_fibers` is different in the next PR, so defer it to then.* Remove some reexports no longer necessaryBindings generation changed awhile back so these aren&apos;t needed, deferthe implementations to the next PR.* Remove unnecessary dropThis was already moved to `run_manual_drop_routines`* Defer a `pub(crate)` to a future PR* Expand comments in traphandlers* Defer some types to the next PR* Update linker documentation* Add `Send`/`Sync` bounds to `ComponentType`This commit is extracted from from review of #11123 and #11127. Whilenot literally present in those PRs it&apos;s my own personal conclusion thatit&apos;s best to just go ahead and add these bounds at the &quot;base&quot; of thecomponent trait hierarchy. The current implementation in #11123 addsbounds in many locations and this would remove the need to add boundseverywhere and instead have everything inherited through the `Lift` and`Lower` traits.This raises the question of: why? The main conclusion that I&apos;ve reachedleading to this change is that Wasmtime currently will store `R`, areturn value, on the stack during the lowering process back into linearmemory. This might involve allocation, however, meaning that wasm can beinvoked and a context switch could happen. For Wasmtime&apos;s `unsafe impl`of `Send` and `Sync` on fibers to be sound it requires that thisstack-local variable is also `Send` and `Sync` as it&apos;s an entirelyuser-provided type. Thus I&apos;ve concluded that for results it&apos;s alwaysrequired for these to be both `Send` and `Sync` (or at the very least,`Send`).Given that I&apos;ve gone ahead and updated to require both `Send` and `Sync`for both params and results. This is not expected to actually have anyimpact in practice since all primitives are already `Send`/`Sync` (minus`Rc` impls all removed here) and all `bindgen!`-generated types arecompositions of `Send`/`Sync` primitives meaning that they&apos;re also`Send` and `Sync`.* Remove some now-unnecessary bounds* Fix build after #11160* Remove some now-unnecessary duplicate bounds* Uncomment test that now works* Undo accidental doc wrap* Clarify comment on `Value` typesDon&apos;t leave `TODO` in public-facing documentation ideally* Actually resolve the conflict (forgot to commit)* Avoid returning boxed futures in APIs* Defer making constructors more public to a future PR* Make a method name more conventional* Refactor `linear_lift_into_from_memory`* Drop the `max_count` parameter in favor of slicing the `WasmList`  itself. Avoids situations such as what happens if `max_count` is  larger than the length of the list.* Don&apos;t have the default implementation collect to a vector and then  push all that onto a different vector. Instead push each item  individually through `extend`.* De-indent a block of code added* Remove unsafety from `prepare_call`Mostly move the parameters themselves to the closure to avoid rawpointers/drop/etc.This will have the consequence of in the future `call_async` is going tonow require `Params: &apos;static` but that seems more-or-less inevitable atthis point.* Go back to returning box, alas.* Apply same treatment to lift functionMake it a closure and reduce some levels of indirection of the variousfunctions in play.* Refactor `lower_params` to require less context.Relax the bounds on the closure specified since it&apos;s immediately calledand then additionally take out parameters/captures that the closure cancarry itself.* Don&apos;t pass extraneous `Instance` parameterThis can now be inferred from `Func`.* Clean up some SAFETY comments* Generalize the signature of `lift_results`* Move `lift_results` function to `Func`Also rename the lift/lower helpers to `with_{lift,lower}_context`* Remove parameter from `with_lift_context`Like `with_lower_context` this is fine to capture in the closure passedin.* Simplify the dynamic lifting logicDon&apos;t call `with_lift_context` in two locations, only call it once witha dynamic parameter.* Refactor away the `Func::lift_results_sync` helper* Use `with_lift_context` in `call_raw`* Simplify a call to `Func::call_unchecked_raw`* Ungate `with_lift_context` to fix non-cm-async build* Fix compile (bad cherry-pick conflict resolution)* Use `with_lower_context` in `call_raw`Trying to unify the async/concurrent paths as much as possible.* Move params out of `call_raw`Let closures capture the params, no need to thread it through as anunnecessary argument.* Clean up unsafety in `Func::call_raw`* Accurately mark `call_raw` itself as `unsafe`, then document why  callers should be safe.* Don&apos;t have one large `unsafe` block in `call_raw`, instead split it up  with separate safety comments.* Move a one-off type definition closer to its use* Avoid intermediate allocations in dynamic calls* Simplify a future-return site* Deduplicate checking parameter count* Simplify a future invocation with `?`* Simplify a variable declaration* Simplify some function signatures* Remove outdated safety comment* Refactor to not require `Params: &apos;static` on `call_async`* Remove no-longer-necessary SAFETY comment* Fix typos* Add a fast-path with no `Box` for sync host functionsSpeeds up host calls by ~20% and puts them back on parity with thebeforehand numbers Wasmtime has.* Synchronize signatures of async/concurrent dynamic callsUse slices for both instead of vecs for one and slices for the other.Required some slight rejiggering. Apparently one can solve a closureproblem with another closure, then one surely has no more closureproblems.* Fix non-cm-async build---------Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Thu, 03 Jul 2025 22:03:59 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>a7b5a912 - Fix Typos in Documentation Comments (#11140)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#a7b5a912</link>
        <description>Fix Typos in Documentation Comments (#11140)* Update table_pool.rs* Update unix.rs* Update interpreter.rs

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Thu, 26 Jun 2025 15:25:46 +0000</pubDate>
        <dc:creator>leopardracer &lt;136604165+leopardracer@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>078bc37b - Fix another case of Miri unsoundness (#11056)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#078bc37b</link>
        <description>Fix another case of Miri unsoundness (#11056)This commit fixes another issue we&apos;ve discovered in the wasip3prototyping repository about a code pattern in wasm which Miri flags asun-sound. Specifically what happened was:* Invocation of WebAssembly went through `VMFuncRef::array_call` which  takes a `&amp;self` parameter.* Inside of WebAssembly though a `ref.func` instruction, or anything  else that references the original exported function, will  re-initialize the `VMFuncRef` which writes the `&amp;self` up the stack,  which is not sound.Fixing this required changing the signature of `array_call` from `&amp;self`to `me: NonNull&lt;VMFuncRef&gt;`, and the signature was already `unsafe` sothis is a new unsafe contract for that signature.In fixing this, however, it was discovered that a mistake was madein #10943 where some internal functions for re-initializing a`VMFuncRef` relied on the previous signature of `&amp;mut self` but that PRswitche to `&amp;self`. This PR corrects these signatures to `Pin&lt;&amp;mut Self&gt;`and then plumbs around the necessary changes, notably causing somerefactoring in component-related bits.

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Tue, 17 Jun 2025 15:55:45 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>8392736d - Refine `VMArrayCallNative` (#11047)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#8392736d</link>
        <description>Refine `VMArrayCallNative` (#11047)This commit refines the definition of the `VMArrayCallNative` type whichis the type signature of array-call functions which are used forentering and exiting wasm. The first two parameters of this function arethe callee/caller VMContext values but they are both ascribed as`VMOpaqueContext`. This is because for the `callee` it&apos;s not knownexactly what type the pointer has except within the context of thedefining function, so this value was not changed.For the `caller` parameter though it&apos;s always the case that the valuepassed in is indeed a `VMContext`. This commit reflects this fact in thetype signature and removes a number of now-unnecessary casts.

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Mon, 16 Jun 2025 15:07:52 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>63d482c8 - Stack switching: Infrastructure and runtime support (#10388)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs#63d482c8</link>
        <description>Stack switching: Infrastructure and runtime support (#10388)* [pr1] base* prtest:full* make sure to use ControlFlow result in trace_suspended_continuation* stack-switching: cleanup: remove stray c-api changesThese are remnants of unrelated wasmfx wasmtime experiments, possiblysuitable for later submission against upstream.* stack-switching: reuse async_stack_size* stack-switching: delete delete_me debugging* stack-switching: address feedback in environ::types* stack-switching: remove unused code from vmoffsets* stack-switching: drop dependency on std* stack-switching: add compilation checks to ci matrix* stack-switching: remove debug_println cruft* stack-switching: export environ consts consistently* stack-switching: export vm pub items consistently* table_pool: reduced capacity for large elementsVMContRef elements which takes up two words and we don&apos;t want todouble the size of all tables in order to support storing these.This change changes the table to target storing the requestedmax number of elements if they are &quot;nominally&quot; sized with(potentially) reduced capacity for non-nominally sized types whenencountered.Continuations are the only type of element which may result infewer table slots being available than requested.* stack-switching: extend conditional compilationA fair bit of the definitions for stack switching are stillenabled, but this patch takes things a bit further to avoidcompilation problems; notably, cont_new is now not compiledin unless the feature is enabled.* stack-switching: formatting fixes* stack-switching: address new clippy checksIn addition, to get clippy to fully pass, plumbed inadditional config to make winch paths happy; there&apos;s noimpl for winch yet but plumbing through the feature isrequired to make paths incorporating macros at variouslayers satisfied (and it is expected we&apos;ll use thefeatures in the future).* stack-switching: more conditional compilation fixes* stack-switching: additional conditional compile on table builtins for continuations* stack-switching: additional conditional compile fixes* stack-switching: additional conditional compile in store* stack-switching: remove overly strict assertion* stack-switching: remove errantly dropped no_mangle in config c-api* stack-switching: VMContObj::from_raw_parts* stack-switching: remove duplicate async_stack_size feature check* stack-switching: VMArray -&gt; VMHostArray* stack-switching: remove unnecessary clippy exception* stack-switching: fix docs referenced VMRuntimeLimits* stack-switching: fix doc typo* stack-switching: follow recommendations for type casts* stack-switching: use usize::next_multiple_of* stack-switching: update outdated comment* stack-switching: use feature gate instead of allow(dead_code)* stack-switching: rework backtrace using chunks/zip* stack-switching: move tests to footer moduleThis is a bit more consistent with the prevailing stylein tree and (subjectively) makes finding the testsas a reader more straightforward.Tests left unchanged sans some import cleanup.* stack-swictchding: verify stack_chain offsets at runtime* fixup! stack-switching: use feature gate instead of allow(dead_code)* stack-switching: document continuation roots tracing using match arms---------Co-authored-by: Paul Osborne &lt;paul.osborne@fastly.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs</description>
        <pubDate>Wed, 04 Jun 2025 22:47:35 +0000</pubDate>
        <dc:creator>Frank Emrich &lt;git@emrich.io&gt;</dc:creator>
    </item>
</channel>
</rss>
