<?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 mod.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>25e3bd12 - Handle OOM in `wasmtime_environ::types::WasmFuncType` (#12670)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#25e3bd12</link>
        <description>Handle OOM in `wasmtime_environ::types::WasmFuncType` (#12670)* Handle OOM in `wasmtime_environ::types::WasmFuncType`It should also not `#[derive(Clone)]` anymore, just `TryClone`, whichpropagates out to a bunch of other types as well.And while we are here:* Rename its &quot;returns&quot; to &quot;results&quot; to match Wasmtime&apos;s public API and also the  Wasm text format.* Store both its params and results in a single allocation.* Shrink its size on 64-bit architectures by storing its param- and  result-GC-type counts as `u32`s rather than `usize`s.* fix clippy* fix winch unit tests

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Wed, 25 Feb 2026 22:00:12 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b112bb85 - Migrate winch-codegen to `wasmtime_environ::error` (#12297)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#b112bb85</link>
        <description>Migrate winch-codegen to `wasmtime_environ::error` (#12297)

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Fri, 09 Jan 2026 19:20:48 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ffef1ed1 - winch: Use `Masm::with_scratch` in ISA-agnostic code (#10998)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#ffef1ed1</link>
        <description>winch: Use `Masm::with_scratch` in ISA-agnostic code (#10998)* winch: Use `Masm::with_scratch` in ISA-agnostic codeThis commit is a follow-up tohttps://github.com/bytecodealliance/wasmtime/pull/10989; it migratesall the uses of the scratch register to use `Masm::with_scratch`. Thiscommit also updates the tests that can fail / are ignored, since manyof the bugs were introduced by accidental clobbers to scratchregisters.Even though this change doesn&apos;t introduce any functional changes, thedisassembly changes in aarch64 are due to the usage of x17 as an extrascratch registers. The updates in x64 dissembly are related to offset changes.* Use `with_scratch!` in `pop_to_addr`* Remove dead code* Apply cargo fmt* Remove `imports.wast` from ignore list* Use the new version of `Masm::with_scratch`* Introduce `Masm::with_scratch_for`Helper to derive the register class needed for a particular Wasm value type* Format

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Tue, 10 Jun 2025 17:48:38 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>90ac295e - Update Wasmtime to the 2024 Rust Edition (#10806)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#90ac295e</link>
        <description>Update Wasmtime to the 2024 Rust Edition (#10806)* Update Wasmtime to the 2024 Rust EditionNow that our MSRV supports the 2024 edition it&apos;s possible to make thisswitch. This commit moves Wasmtime to the 2024 Edition to keepup-to-date with Rust idioms and access many of the edition featuresexclusive to the 2024 edition.prtest:full* Reformat with the 2024 edition

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Mon, 19 May 2025 16:40:55 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>7a66c39a - Remove some `#![expect(clippy::allow_attributes_without_reason)]` (#10661)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#7a66c39a</link>
        <description>Remove some `#![expect(clippy::allow_attributes_without_reason)]` (#10661)Clean up some crates by migrating from `#[allow]` to `#[expect]`(ideally) or `#[allow]`-with-reason

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Wed, 23 Apr 2025 21:07:33 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>d463cf4e - winch(aarch64): ABI integration (#10312)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#d463cf4e</link>
        <description>winch(aarch64): ABI integration (#10312)* winch(aarch64): ABI integrationThis commit finalizes the ABI integration between Winch and Cranelift,notably:* Updates the Cranelift ABI to ensure that all the Winch register  clobbers are taken into account.* Updates the Winch ABI to treat x28 as callee-saved, since it&apos;s used as  the shadow stack pointer.The alternative to treating x28 as callee-saved is to treat it ascaller-saved and save it when required e.g., at call-sites, even thoughthis approach works, it&apos;s probably more efficient to perform a store/poponce per function, to minimize the number of move instructions required.There are still some changes needed in order to fully enable runningspec tests for aarch64, however, this change is one step further. Ifinterested, you can run the call.wast test via:cargo run -- wast -Ccompiler=winch tests/spec_testsuite/call_indirect.wast* Update disas tests

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Mon, 03 Mar 2025 17:40:58 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>8bc01990 - winch: Gracefully handle unsupported Wasm types (#9949)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#8bc01990</link>
        <description>winch: Gracefully handle unsupported Wasm types (#9949)* winch: Gracefully handle unsuppported Wasm typesFollow-up to https://github.com/bytecodealliance/wasmtime/pull/9851Prior to this commit, Winch&apos;s ABI layer would panic on unsupported Wasmtypes, i.e., `v128`, `externref`.This commit ensures that a recoverable error is returned in case anunsupported type is found in a function signature.This change is particularly helpful to start running spec tests foraarch64.* Fix unit tests for x64/aarch64 abi

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Mon, 13 Jan 2025 17:40:10 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>792cccce - winch: Track the callee calling convention (#9757)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#792cccce</link>
        <description>winch: Track the callee calling convention (#9757)* winch: Track the callee calling conventionThis commit aims to improve the consistency of call emission in Winch.Prior to this commit, the calling convention at Winch&apos;s assembler layerwas hardcoded. Even though the calling convention invariants arecorrectly handled early on in the code generation process and this hasno effect on the generated code, it could lead to subtle bugs ifCranelift&apos;s emission infrastructure changes. It could also be confusingwhen trying to implement call instrutions for other backends.This change is motivated by some of the questions in https://github.com/bytecodealliance/wasmtime/pull/9751* Clippy fixes

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Fri, 06 Dec 2024 19:49:33 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7ef8f2e2 - winch: Improve frame handling (#9708)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#7ef8f2e2</link>
        <description>winch: Improve frame handling (#9708)This commit addresses issues identified while working on issue #8091. Itimproves the frame handling in Winch to prevent subtle bugs and enhancethe robustness of the code generation process.Previously, there was no clear mechanism to verify when the frame wasfully set up and safe to access the local slots allocated for registerarguments, including the special slots used for the `VMContext`. Asa result, it was possible to inadvertently read from uninitializedmemory if calls were made before the frame was properly set up andsealed.This commit introduces two main changes with the objective to helpreduce the risk of introducing bugs related to the above:* A `CodeGenPhase` trait, used via the type state pattern to clearly  gate the operations allowed during each phase of the code generation  process.* Improve the semantics of locals, by clearly separating the notion of  Wasm locals and special locals used by the compiler. This  specialization allows a more accurate representation of the semantics  of Wasm locals and their index space.

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Wed, 04 Dec 2024 19:12:09 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b19a3389 - Make the Tail call conv follow the system call conv for the return area ptr (#9287)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#b19a3389</link>
        <description>Make the Tail call conv follow the system call conv for the return area ptr (#9287)* Make the Tail call conv follow the system call conv for the return area ptrAnd for Winch make it follow the system call conv on all targets exceptaarch64 where the first regular argument register is used instead ofthe designated register.* Fix review comments

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Fri, 20 Sep 2024 16:11:45 +0000</pubDate>
        <dc:creator>bjorn3 &lt;17426603+bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>e2664e55 - Reduce typo count (#9106)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#e2664e55</link>
        <description>Reduce typo count (#9106)

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Mon, 12 Aug 2024 14:51:11 +0000</pubDate>
        <dc:creator>Bruce Mitchener &lt;bruce.mitchener@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5a821db2 - Winch: Remove specific scratch registers from ABI trait (#8999)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#5a821db2</link>
        <description>Winch: Remove specific scratch registers from ABI trait (#8999)

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Tue, 23 Jul 2024 16:16:57 +0000</pubDate>
        <dc:creator>Jeffrey Charles &lt;jeff.charles@shopify.com&gt;</dc:creator>
    </item>
<item>
        <title>c879eafc - winch: Improve scratch register handling (#8971)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#c879eafc</link>
        <description>winch: Improve scratch register handling (#8971)* winch: Improve scratch register handlingThis commit doesn&apos;t introduce any new behavior. It&apos;s mostly a follow-upto https://github.com/bytecodealliance/wasmtime/pull/7977.This commit tries to reduce the repetitive pattern used to obtain thescrtach register by introducing a macro similar to the existing `vmctx!`macro.This commit also improves the macro definition by using fully qualifiedpaths.* Fix unused imports

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Mon, 22 Jul 2024 16:29:36 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5393c2bf - Reduce typo count (#8951)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#5393c2bf</link>
        <description>Reduce typo count (#8951)

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Mon, 15 Jul 2024 14:26:59 +0000</pubDate>
        <dc:creator>Bruce Mitchener &lt;bruce.mitchener@gmail.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/winch/codegen/src/abi/mod.rs#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/winch/codegen/src/abi/mod.rs</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>450b791f - winch: Remove unused functions after trampoline refactoring (#8213)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#450b791f</link>
        <description>winch: Remove unused functions after trampoline refactoring (#8213)* Remove callee saves from Winch&apos;s MacroAssembler traitprtest:mingw-x64* Remove the unused callee_saved_regs function* Removed the unused callee_saved function from Winch&apos;s aarch64 backend* Remove additional unused functions from the Winch ABI trait

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Thu, 21 Mar 2024 21:51:17 +0000</pubDate>
        <dc:creator>Trevor Elliott &lt;telliott@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>d69ba34e - winch: Switch to using cranelift for all trampolines (#8109)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#d69ba34e</link>
        <description>winch: Switch to using cranelift for all trampolines (#8109)* Switch winch over to using cranelift for all trampolines* Fix unused code warnings* Fix unused code warningsprtest:full

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Thu, 21 Mar 2024 17:59:43 +0000</pubDate>
        <dc:creator>Trevor Elliott &lt;telliott@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>9ce3ffe1 - Update some CI dependencies (#7983)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#9ce3ffe1</link>
        <description>Update some CI dependencies (#7983)* Update some CI dependencies* Update to the latest nightly toolchain* Update mdbook* Update QEMU for cross-compiled testing* Update `cargo nextest` for usage with MIRIprtest:full* Remove lots of unnecessary imports* Downgrade qemu as 8.2.1 seems to segfault* Remove more imports* Remove unused winch trait method* Fix warnings about unused trait methods* More unused imports* More unused imports

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Thu, 22 Feb 2024 23:54:03 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>0e98a8d5 - winch: Overhaul the internal ABI (#7974)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#0e98a8d5</link>
        <description>winch: Overhaul the internal ABI (#7974)* winch: Overhaul the internal ABIThis change overhauls Winch&apos;s ABI. This means that as part of this change,  the default ABI now closely resembles Cranelift&apos;s ABI, particularly on the treatment of the VMContext. This change also fixes many wrong assumptions about trampolines, which are tied to how the previous ABI operated.The main motivation behind this change is:* To make it easier to integrate Winch-generated functions with Wasmtime* Fix fuzz bugs related to imports* Solidify the implementation regarding the usage of a pinned register to hold the VMContext value throughout the lifetime of a function.The previous implementation had the following characteristics, and wrong assumptions):* Assumed that nternal functions don&apos;t receive a caller or callee VMContexts as parameters.* Worked correctly in the following scenarios:    * `Wasm -&gt; Native`: since we can explicitly load the caller and callee `VMContext`, because we&apos;re      calling a native import.    * `(Native, Array) -&gt; Wasm`: because the native signatures define a tuple of  `VMContext` as arguments.* It didn&apos;t work in the following scenario:   * `Wasm-&gt;Wasm`: When calling imports from another WebAssembly instance (via      direct call or `call_indirect`. The previous implementation wrongly assumes      that there should be a trampoline in this case, but there isn&apos;t. The code      was generated by the same compiler, so the same ABI should be used in      both functions, but it doesn&apos;t. This change introduces the following changes, which fix the previous assumptions and bugs:* All internal functions declare a two extra pointer-sized parameters, which will hold the callee and caller `VMContext`s* Use a pinned register that will be considered live through the lifetime of the function instead of pinning it at the trampoline level. The pinning explicitlly happens when entering the function body and no other assumptions are made from there on.* Introduce the concept of special `ContextArgs` for function calls. This enum holds metadata about which context arguments are needed depending on the callee. The previous implementation of introducing register values at arbitrary locations in the value stack conflicts with the stack ordering principle which states that older values must *always* precede newer values. So we can&apos;t insert a register, because if a spill happens the order of the values will be wrong. Finally, given that this change also enables the `imports.wast` test suite, it also includes a fix to `global.{get, set}` instructions which didn&apos;t account entirely for imported globals. Resolved conflictsUpdate Winch filetests* Fix typos* Use `get_wasm_local` and `get_frame_local` instead of `get_local` and `get_local_unchecked`* Introduce `MAX_CONTEXT_ARGS` and use it in the trampoline to skip context arguments.

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Wed, 21 Feb 2024 22:48:02 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>83cf7438 - winch: Add support for WebAssembly loads/stores (#7894)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/winch/codegen/src/abi/mod.rs#83cf7438</link>
        <description>winch: Add support for WebAssembly loads/stores (#7894)* winch: Add support for WebAssembly loads/storesCloses https://github.com/bytecodealliance/wasmtime/issues/6529This patch adds support for all the instructions involving WebAssemblyloads and stores for 32-bit memories. Given that the `memory64` proposalis not enabled by default, this patch doesn&apos;t include animplementation/tests for it; in theory minimal tweaks to thecurrrent implementation will be needed in order to support 64-bitmemories.Implemenation-wise, this change, follows a similar pattern as Craneliftin order to calculate addresses for dynamic/static heaps, the maindifference being that in some cases, doing less work at compile time ispreferred; the current implemenation only checks for the general case ofout-of-bounds access for dynamic heaps for example.Another important detail regarding the implementation, is theintroduction of `MacroAssembler::wasm_load` and`MacroAssembler::wasm_store`, which internally use a commonimplemenation for loads and stores, with the only difference that the`wasm_*` variants set the right flags in order to signal that theseoperations are not trusted and might trap.Finally, given that this change introduces support for the last set ofinstructions missing for a Wasm MVP, it removes most of Winch&apos;s copy ofthe spectest suite, and switches over to using the official test suitewhere possible (for tests that don&apos;t use SIMD or Reference Types).Follow-up items:* Before doing any deep benchmarking I&apos;m planning on landing a couple of  improvements regarding compile times that I&apos;ve identified in parallel  to this change.* The `imports.wast` tests are disabled because I&apos;ve identified a bug  with `call_indirect`, which is not related to this change and exists  in main.* Find a way to run the `tests/all/memory.rs` (or perhaps most of  integration tests) with Winch.--prtest:full* Review comments

            List of files:
            /wasmtime-44.0.1/winch/codegen/src/abi/mod.rs</description>
        <pubDate>Fri, 09 Feb 2024 15:28:33 +0000</pubDate>
        <dc:creator>Sa&#250;l Cabrera &lt;saulecabrera@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
